Difference between revisions of "LPCXpresso"
m |
m |
||
Line 902: | Line 902: | ||
</pre> | </pre> | ||
− | === <i>edit point . . .</i> === | + | === [[#top|^]] <i>edit point . . .</i> === |
Comparing LPCXpresso build console output with GNU make output at command line, the "hand rolled" makefile way: | Comparing LPCXpresso build console output with GNU make output at command line, the "hand rolled" makefile way: |
Revision as of 14:47, 15 June 2018
ARM processor notes : STM32F10x notes
Contents
- 1 OVERVIEW
- 2 ^ LPCXpresso Development Board Pinout
- 3 ^ Talking With and Programming LPC1114 Dev Board
- 4 ^ Appendix A - CMSISv2p00 library files
- 5 ^ Copying FreeRTOS Demo Project To Begin New Project
- 6 ^ Makefile Clues
- 7 ^ Build Issues While Developing Makefile
- 8 ^ Makefile Generated By LPCXpresso
- 9 ^ References
OVERVIEW
This nn article to hold notes on NXP/LPCXpresso programming tools and methods. Expect tools to include LPCXpresso Integrated Development Environment and command line based gcc, g++, as, ld, objcopy and related tools. Programming methods expected to include FTDI cable based programming employed with FlashMagic and lpc21isp. More to come going forward.
In addition to some initial notes on NXP parts, also this article contains some notes and references on STMicro's STM32F100 family micro-controllers. This controller is different enough that it deserves an STM32F100 article of its own . . .
^ Quick reference
A couple of quick references for the Linux side LPC programming utility:
$ lpc21isp -detectonly /dev/ttyUSB0 9600 12000 $ lpc21isp -bin ./RTOSDemo.bin /dev/ttyUSB0 9600 8000000
^ LPCXpresso Development Board Pinout
2018-04-24 Tuesday
- https://github.com/dwelch67/lpcxpresso_samples
- http://elektorembedded.blogspot.com/2010/02/lpcxpresso-design-contest.html . . . LPCXpresso board pin match up with 40-pin Mbed board
- https://os.mbed.com/users/ytsuboi/notebook/getting-started-with-mbed-lpc1114/ . . . partial target board pinout
Ted noting LPCXpresso target board pin layout with respect to LPC1343 pins:
GND 3V3 +5VIN [ ] [ ] [ ] RST [ ] MOSI [ ] MISO [ ] SCK [ ] SSEL [ ] TXD [ ]/USB_DM RXD [ ]/USB_DP P0.7 P0.1/USB_FTOGGLE P2.0 P0.3/USB_VBUS P2.1 I2C_SDA P2.2 I2C_SDL AD0 P1.9 AD1 P1.10 AD2 P1.11 AD3 P2.3 AD4 P2.4 AD5 P2.5 P1.5 P2.6 P1.8 P2.7 P0.6 P2.8 P0.10 P2.9 P3.0 P2.10 P3.1 P3.3 P3.2 GND
Figure x - expanded ASCII drawing of LPCXpresso dev board pin out:
GND 3V3 +5VIN [ ] [ ] [ ] RST [ ] MOSI [ ] MISO [ ] SCK [ ] SSEL [ ] { TXD [ ]/USB_DM serial port here --{ { RXD [ ]/USB_DP P0.7 P0.1/USB_FTOGGLE <-- These two FTOGGLE and VBUS must be P2.0 P0.3/USB_VBUS <-- grounded to put board into programming mode P2.1 I2C_SDA P2.2 I2C_SDL AD0 P1.9 AD1 P1.10 AD2 P1.11 AD3 P2.3 AD4 P2.4 AD5 P2.5 P1.5 P2.6 P1.8 P2.7 P0.6 P2.8 P0.10 P2.9 P3.0 P2.10 P3.1 P3.3 P3.2 GND
^ Talking With and Programming LPC1114 Dev Board
Powering down, grounding pins P0.1 and P0.3, then powering up, ungrounding both those pins and issuing part signature read command:
$ sudo lpc21isp -detectonly /dev/ttyUSB0 9600 12000 lpc21isp version 1.97 Synchronizing (ESC to abort). OK Read bootcode version: 1 5 Read part ID: LPC1343, 32 kiB FLASH / 8 kiB SRAM (0x3D00002B) $
Invoking lpc21isp to program a device:
$ sudo lpc21isp -bin ./RTOSDemo.bin /dev/ttyUSB0 9600 8000000 lpc21isp version 1.97 File ./RTOSDemo.bin: loaded... image size : 18768 Image size : 18768 Synchronizing (ESC to abort). OK Read bootcode version: 1 5 Read part ID: LPC1343, 32 kiB FLASH / 8 kiB SRAM (0x3D00002B) Will start programming at Sector 1 if possible, and conclude with Sector 0 to ensure that checksum is written last. Erasing sector 0 first, to invalidate checksum. OK Sector 1: ............................................................................................... Sector 2: ............................................................................................... Sector 3: ............................................................................................... Sector 4: ........................................................... Sector 0: .............................................................................................. Download Finished... taking 30 seconds Now launching the brand new code </code> <!-- comment --> == [[#top|^]] I2C References And Notes == * https://learn.sparkfun.com/tutorials/i2c * http://www.ti.com/lit/an/slva704/slva704.pdf * http://i2c.info/i2c-bus-specification . . . i2c START and STOP conditions explained Looking for 'ACK' signal specification in i2c context . . . * https://www.nxp.com/docs/en/user-guide/UM10204.pdf ACK_ERROR occurs in routine I2c_WriteByte(), which in turn calls I2C_WriteBit() with a value and a timeout value. The timeout value is assigned in main.c: ./main.c:64: SCD30_Init(0x61, 10); // SCD30 listens on address 0x61 with 10ms I2c timeout Sensirion I2C and USART capable sensor: * https://cdn.sos.sk/productdata/45/79/f68c98fa/scd30-1.pdf * https://www.i2c-bus.org/addressing/general-call-address/ i2c broadcast address is zero (0) <!-- comment --> == [[#top|^]] LPCXpresso 1114 board and FreeRTOS == In order to get started with the FreeRTOS port demo project to the LPC1114 board, a batch file (or shell script) need be run to create a particular directory structure and copy files into some project-expected places. There is mention on the ported NXP project page on FreeRTOS site that LPCXpresso IDE can provide makefile based projects, and "managed make" projects. The managed make projects require all sources on which a given project depends to be located within given project's top level directory. There is mention of a batch file which on our Linux box appears to be <code>~/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/CreateProjectDirectoryStructure.bat</code>. * https://www.freertos.org/FreeRTOS-for-Cortex-M0-LPC1114-LPCXpresso.html ** https://www.freertos.org/a00017.html . . . FreeRTOS source code organization, this link noted elsewhere on wiki Getting close but having trouble setting up and fully compiling LPC1114 FreeRTOS demo . . . build fails for not finding header file IntQueue.h, as included by file IntQueue.c in the same directory: <pre> user@localhost:~/LPCXpresso/workspace$ ls -l ./FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source total 84 drwxr-xr-x 3 veris veris 4096 May 14 13:07 Common_Demo_Tasks -rw-r--r-- 1 veris veris 4364 May 14 13:12 FreeRTOSConfig.h drwxr-xr-x 4 veris veris 4096 May 14 12:22 FreeRTOS_Source -rw-r--r-- 1 veris veris 3587 Dec 18 14:36 IntQueueTimer.c -rw-r--r-- 1 veris veris 1496 Dec 18 14:36 IntQueueTimer.h -rw-r--r-- 1 veris veris 5925 Dec 18 14:36 RegTest.c -rw-r--r-- 1 veris veris 16008 Nov 16 2016 cr_startup_lpc11.c -rw-r--r-- 1 veris veris 8416 Dec 18 14:36 main-blinky.c -rw-r--r-- 1 veris veris 11663 Dec 18 14:36 main-full.c -rw-r--r-- 1 veris veris 10694 Dec 18 14:36 main.c user@localhost:~/LPCXpresso/workspace$
LPCXpresso project linked resources
...Trouble uploading screen capture in .PNG format! MediaWiki error message:
" Action failed
Could not open lock file for "mwstore://local-backend/local-public/3/33/Linked-resources.png".
Return to Main Page. "
Textual data from screen whose image capture failed to upload:
# Properties for RTOSDemo # v Resource # Linked Resource # Path Variables # # ECLIPSE_HOME /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/ # PARENT_LOC /home/veris/LPCXpresso/workspace # PROJECT_LOC /home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo # WORKSPACE_LOC /home/veris/LPCXpresso/workspace
ISSUE - case insensitive Windows filename of needed header file needs attention, symbolic linking one fix:
^ Appendix A - CMSISv2p00 library files
2018-04-18
Figure x - unzipping NXP library files CMSISv2p00 . . .
veris@alta-spare-6:/opt/nxp/lpcxpresso-8p2p2/lpcxpresso/Examples/CMSIS_DSPLIB$ ls CMSIS_DSPLIB_Latest.zip CMSISv2p00_DSPLIB.zip CMSISv2p10_DSPLIB.zip CMSISv3p01_DSPLIB.zip veris@alta-spare-6:/opt/nxp/lpcxpresso-8p2p2/lpcxpresso/Examples/CMSIS_DSPLIB$ unzip CMSISv2p00_DSPLIB.zip Archive: CMSISv2p00_DSPLIB.zip creating: CMSISv2p00_DSPLIB_CM3/ inflating: CMSISv2p00_DSPLIB_CM3/.project creating: CMSISv2p00_DSPLIB_CM3/docs/ inflating: CMSISv2p00_DSPLIB_CM3/docs/CMSIS END USER LICENCE AGREEMENT.pdf inflating: CMSISv2p00_DSPLIB_CM3/docs/cmsis_dsp_readme.txt inflating: CMSISv2p00_DSPLIB_CM3/docs/cmsis_readme.txt inflating: CMSISv2p00_DSPLIB_CM3/history.txt creating: CMSISv2p00_DSPLIB_CM3/inc/ creating: CMSISv2p00_DSPLIB_CM3/inc/arm/ inflating: CMSISv2p00_DSPLIB_CM3/inc/arm/arm_math.h inflating: CMSISv2p00_DSPLIB_CM3/inc/arm_math.h inflating: CMSISv2p00_DSPLIB_CM3/inc/math_helper.h creating: CMSISv2p00_DSPLIB_CM3/lib/ inflating: CMSISv2p00_DSPLIB_CM3/lib/libCMSISv2p00_DSPLIB_CM3.a creating: CMSISv2p00_DSPLIB_CM4/ inflating: CMSISv2p00_DSPLIB_CM4/.project creating: CMSISv2p00_DSPLIB_CM4/docs/ inflating: CMSISv2p00_DSPLIB_CM4/docs/CMSIS END USER LICENCE AGREEMENT.pdf inflating: CMSISv2p00_DSPLIB_CM4/docs/cmsis_dsp_readme.txt inflating: CMSISv2p00_DSPLIB_CM4/docs/cmsis_readme.txt creating: CMSISv2p00_DSPLIB_CM4/inc/ creating: CMSISv2p00_DSPLIB_CM4/inc/arm/ inflating: CMSISv2p00_DSPLIB_CM4/inc/arm/arm_math.h inflating: CMSISv2p00_DSPLIB_CM4/inc/arm_math.h inflating: CMSISv2p00_DSPLIB_CM4/inc/math_helper.h creating: CMSISv2p00_DSPLIB_CM4/lib/ inflating: CMSISv2p00_DSPLIB_CM4/lib/libCMSISv2p00_DSPLIB_CM4.a creating: CMSISv2p00_DSPLIB_CM4_NoFP/ inflating: CMSISv2p00_DSPLIB_CM4_NoFP/.project creating: CMSISv2p00_DSPLIB_CM4_NoFP/docs/ inflating: CMSISv2p00_DSPLIB_CM4_NoFP/docs/CMSIS END USER LICENCE AGREEMENT.pdf inflating: CMSISv2p00_DSPLIB_CM4_NoFP/docs/cmsis_dsp_readme.txt inflating: CMSISv2p00_DSPLIB_CM4_NoFP/docs/cmsis_readme.txt creating: CMSISv2p00_DSPLIB_CM4_NoFP/inc/ creating: CMSISv2p00_DSPLIB_CM4_NoFP/inc/arm/ inflating: CMSISv2p00_DSPLIB_CM4_NoFP/inc/arm/arm_math.h inflating: CMSISv2p00_DSPLIB_CM4_NoFP/inc/arm_math.h inflating: CMSISv2p00_DSPLIB_CM4_NoFP/inc/math_helper.h creating: CMSISv2p00_DSPLIB_CM4_NoFP/lib/ inflating: CMSISv2p00_DSPLIB_CM4_NoFP/lib/libCMSISv2p00_DSPLIB_CM4_NoFP.a creating: CMSISv2p00_DSPLIB_SRC/ inflating: CMSISv2p00_DSPLIB_SRC/.cproject inflating: CMSISv2p00_DSPLIB_SRC/.project creating: CMSISv2p00_DSPLIB_SRC/docs/ inflating: CMSISv2p00_DSPLIB_SRC/docs/CMSIS END USER LICENCE AGREEMENT.pdf inflating: CMSISv2p00_DSPLIB_SRC/docs/cmsis_dsp_readme.txt inflating: CMSISv2p00_DSPLIB_SRC/docs/cmsis_readme.txt inflating: CMSISv2p00_DSPLIB_SRC/history.txt creating: CMSISv2p00_DSPLIB_SRC/inc/ inflating: CMSISv2p00_DSPLIB_SRC/inc/arm_common_tables.h inflating: CMSISv2p00_DSPLIB_SRC/inc/arm_math.h inflating: CMSISv2p00_DSPLIB_SRC/inc/math_helper.h creating: CMSISv2p00_DSPLIB_SRC/inc_cmsis/ inflating: CMSISv2p00_DSPLIB_SRC/inc_cmsis/core_cm3.h inflating: CMSISv2p00_DSPLIB_SRC/inc_cmsis/core_cm4.h inflating: CMSISv2p00_DSPLIB_SRC/inc_cmsis/core_cm4_simd.h inflating: CMSISv2p00_DSPLIB_SRC/inc_cmsis/core_cmFunc.h inflating: CMSISv2p00_DSPLIB_SRC/inc_cmsis/core_cmInstr.h creating: CMSISv2p00_DSPLIB_SRC/src/ creating: CMSISv2p00_DSPLIB_SRC/src/Common/ creating: CMSISv2p00_DSPLIB_SRC/src/Common/Source/ inflating: CMSISv2p00_DSPLIB_SRC/src/Common/Source/math_helper.c creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/ inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_abs_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_abs_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_abs_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_abs_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_add_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_add_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_add_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_add_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_dot_prod_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_dot_prod_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_dot_prod_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_dot_prod_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_mult_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_mult_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_mult_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_mult_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_negate_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_negate_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_negate_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_negate_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_offset_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_offset_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_offset_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_offset_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_scale_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_scale_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_scale_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_scale_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_shift_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_shift_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_shift_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_sub_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_sub_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_sub_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/BasicMathFunctions/arm_sub_q7.c creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/CommonTables/ inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/CommonTables/arm_common_tables.c creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/ inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_conj_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_conj_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_conj_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mag_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mag_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mag_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mult_real_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mult_real_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ComplexMathFunctions/arm_cmplx_mult_real_q31.c creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ControllerFunctions/ inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ControllerFunctions/arm_pid_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ControllerFunctions/arm_pid_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ControllerFunctions/arm_pid_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ControllerFunctions/arm_pid_reset_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ControllerFunctions/arm_pid_reset_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ControllerFunctions/arm_pid_reset_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ControllerFunctions/arm_sin_cos_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/ControllerFunctions/arm_sin_cos_q31.c creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FastMathFunctions/ inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FastMathFunctions/arm_cos_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FastMathFunctions/arm_cos_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FastMathFunctions/arm_cos_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FastMathFunctions/arm_sin_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FastMathFunctions/arm_sin_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FastMathFunctions/arm_sin_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FastMathFunctions/arm_sqrt_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FastMathFunctions/arm_sqrt_q31.c creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/ inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df1_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df1_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df1_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df2T_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_fast_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_fast_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_partial_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_partial_fast_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_partial_fast_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_partial_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_partial_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_partial_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_conv_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_correlate_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_correlate_fast_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_correlate_fast_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_correlate_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_correlate_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_correlate_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_decimate_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_decimate_fast_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_decimate_fast_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_decimate_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_decimate_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_decimate_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_decimate_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_decimate_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_fast_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_fast_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_init_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_interpolate_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_interpolate_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_interpolate_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_interpolate_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_interpolate_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_interpolate_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_lattice_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_lattice_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_lattice_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_lattice_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_lattice_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_lattice_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_sparse_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_sparse_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_sparse_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_sparse_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_sparse_init_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_sparse_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_sparse_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_fir_sparse_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_iir_lattice_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_iir_lattice_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_iir_lattice_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_iir_lattice_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_iir_lattice_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_iir_lattice_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_norm_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_norm_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_norm_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_norm_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_norm_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_norm_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/FilteringFunctions/arm_lms_q31.c creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/ inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_add_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_add_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_add_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_inverse_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_mult_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_mult_fast_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_mult_fast_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_mult_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_mult_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_scale_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_scale_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_scale_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_sub_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_sub_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_sub_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_trans_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_trans_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/MatrixFunctions/arm_mat_trans_q31.c creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/ inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_max_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_max_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_max_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_max_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_mean_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_mean_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_mean_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_mean_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_min_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_min_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_min_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_min_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_power_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_power_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_power_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_power_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_rms_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_rms_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_rms_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_std_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_std_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_std_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_var_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_var_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/StatisticsFunctions/arm_var_q31.c creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/ creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/ inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_copy_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_copy_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_copy_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_copy_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_fill_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_fill_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_fill_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_fill_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_float_to_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_float_to_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_float_to_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_q15_to_float.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_q15_to_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_q15_to_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_q31_to_float.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_q31_to_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_q31_to_q7.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_q7_to_float.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_q7_to_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/SupportFunctions/arm_q7_to_q31.c creating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/ inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_cfft_radix4_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_cfft_radix4_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_cfft_radix4_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_cfft_radix4_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_cfft_radix4_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_cfft_radix4_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_dct4_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_dct4_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_dct4_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_dct4_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_dct4_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_dct4_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_rfft_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_rfft_init_f32.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_rfft_init_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_rfft_init_q31.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_rfft_q15.c inflating: CMSISv2p00_DSPLIB_SRC/src/Cortex-M4-M3/TransformFunctions/arm_rfft_q31.c veris@alta-spare-6:/opt/nxp/lpcxpresso-8p2p2/lpcxpresso/Examples/CMSIS_DSPLIB$ ls CMSIS_DSPLIB_Latest.zip CMSISv2p00_DSPLIB_CM3 CMSISv2p00_DSPLIB_CM4_NoFP CMSISv2p10_DSPLIB.zip CMSISv2p00_DSPLIB.zip CMSISv2p00_DSPLIB_CM4 CMSISv2p00_DSPLIB_SRC CMSISv3p01_DSPLIB.zip veris@alta-spare-6:/opt/nxp/lpcxpresso-8p2p2/lpcxpresso/Examples/CMSIS_DSPLIB$
These by their top folder names look like they may be libraries old than NXP's LPCOpen libraries, which are mentioned in the 2016 LPCXpresso user manual as being a new de facto standard. A more simple starting point to test out blinky LED program on the LPCXpressor dev board 1114F may be here,
- https://batchloaf.wordpress.com/2013/11/29/simple-arm-example-for-lpc1114/
- http://eleceng.dit.ie/frank/arm/BareMetalLPC1114/display/index.html
^ Copying FreeRTOS Demo Project To Begin New Project
- 2018-06-13 TUE - Today's goal is to copy the FreeRTOS demo which runs on an LPCXpresso development board, and to bring this copy of the project up as a second or additional project in LPC IDE's workspace. From here then next step is to add one-way then bidirectional UART communications to the project.
A separate second goal is to craft a GNU makefile to build this same demo project.
Looking at project properties by means of right clicking the top level folder in LPCXpresso's project navigation pane, the project's location on the file system is:
localhost:/home/user/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo
A file worth noting here is a shell script which Ted adapted from a DOS batch file which ships with the RTOS demo:
Figure x - create-project-directory-structure.sh
#!/bin/bash # 2018-05-14 - Monday, started by Ted to carry out the work of DOS batch file included with NXP's RTOS demo . . . MKDIR=/bin/mkdir MKDIR_OPTIONS="-p -v" COPY=/bin/cp COPY_OPTIONS="-v" echo "$0: creating the required directory structure . . ." ${MKDIR} ${MKDIR_OPTIONS} Source/FreeRTOS_Source ${MKDIR} ${MKDIR_OPTIONS} Source/FreeRTOS_Source/include ${MKDIR} ${MKDIR_OPTIONS} Source/FreeRTOS_Source/portable ${MKDIR} ${MKDIR_OPTIONS} Source/FreeRTOS_Source/portable/GCC ${MKDIR} ${MKDIR_OPTIONS} Source/FreeRTOS_Source/portable/GCC/ARM_CM0 ${MKDIR} ${MKDIR_OPTIONS} Source/FreeRTOS_Source/portable/MemMang ${MKDIR} ${MKDIR_OPTIONS} Source/Common_Demo_Tasks ${MKDIR} ${MKDIR_OPTIONS} Source/Common_Demo_Tasks/Include echo "$0: copying core FreeRTOS kernel files . . ." ${COPY} ${COPY_OPTIONS} ../../../Source/tasks.c Source/FreeRTOS_Source ${COPY} ${COPY_OPTIONS} ../../../Source/queue.c Source/FreeRTOS_Source ${COPY} ${COPY_OPTIONS} ../../../Source/list.c Source/FreeRTOS_Source ${COPY} ${COPY_OPTIONS} ../../../Source/timers.c Source/FreeRTOS_Source echo "$0: copying common header files . . ." ${COPY} ${COPY_OPTIONS} ../../../Source/include/*.* Source/FreeRTOS_Source/include echo "$0: copying portable layer files . . ." ${COPY} ${COPY_OPTIONS} ../../../Source/portable/GCC/ARM_CM0/*.* Source/FreeRTOS_Source/portable/GCC/ARM_CM0 echo "$0: copying basic memory allocation files . . ." ${COPY} ${COPY_OPTIONS} ../../../Source/portable/MemMang/heap_1.c Source/FreeRTOS_Source/portable/MemMang echo "$0: copying files that define the common demo tasks . . ." ${COPY} ${COPY_OPTIONS} ../../Common/Minimal/blocktim.c Source/Common_Demo_Tasks ${COPY} ${COPY_OPTIONS} ../../Common/Minimal/recmutex.c Source/Common_Demo_Tasks ${COPY} ${COPY_OPTIONS} ../../Common/Minimal/countsem.c Source/Common_Demo_Tasks ${COPY} ${COPY_OPTIONS} ../../Common/Minimal/IntQueue.c Source/Common_Demo_Tasks echo "$0: copying common demo file headers . . .": ${COPY} ${COPY_OPTIONS} ../../Common/include/blocktim.h Source/Common_Demo_Tasks/include ${COPY} ${COPY_OPTIONS} ../../Common/include/recmutex.h Source/Common_Demo_Tasks/include ${COPY} ${COPY_OPTIONS} ../../Common/include/countsem.h Source/Common_Demo_Tasks/include ${COPY} ${COPY_OPTIONS} ../../Common/include/IntQueue.h Source/Common_Demo_Tasks/include # ${MKDIR} ${MKDIR_OPTIONS} echo "$0: done." echo exit 0
Before and after running `make clean` from the IDE:
Figure x - FreeRTOS demo directories and size of build time files:
$ du -k . 280 ./Debug/Source/Common_Demo_Tasks 68 ./Debug/Source/FreeRTOS_Source/portable/GCC/ARM_CM0 72 ./Debug/Source/FreeRTOS_Source/portable/GCC 64 ./Debug/Source/FreeRTOS_Source/portable/MemMang 140 ./Debug/Source/FreeRTOS_Source/portable 472 ./Debug/Source/FreeRTOS_Source 1112 ./Debug/Source 1408 ./Debug 4 ./Source/Common_Demo_Tasks/Include 88 ./Source/Common_Demo_Tasks 28 ./Source/FreeRTOS_Source/portable/GCC/ARM_CM0 32 ./Source/FreeRTOS_Source/portable/GCC 12 ./Source/FreeRTOS_Source/portable/MemMang 48 ./Source/FreeRTOS_Source/portable 540 ./Source/FreeRTOS_Source/include 900 ./Source/FreeRTOS_Source 1068 ./Source 8 ./.settings 2548 . $ du -k . 8 ./Debug/Source/Common_Demo_Tasks 8 ./Debug/Source/FreeRTOS_Source/portable/GCC/ARM_CM0 12 ./Debug/Source/FreeRTOS_Source/portable/GCC 8 ./Debug/Source/FreeRTOS_Source/portable/MemMang 24 ./Debug/Source/FreeRTOS_Source/portable 32 ./Debug/Source/FreeRTOS_Source 48 ./Debug/Source 192 ./Debug 4 ./Source/Common_Demo_Tasks/Include 88 ./Source/Common_Demo_Tasks 28 ./Source/FreeRTOS_Source/portable/GCC/ARM_CM0 32 ./Source/FreeRTOS_Source/portable/GCC 12 ./Source/FreeRTOS_Source/portable/MemMang 48 ./Source/FreeRTOS_Source/portable 540 ./Source/FreeRTOS_Source/include 900 ./Source/FreeRTOS_Source 1068 ./Source 8 ./.settings 1332 .
The above figure is a verbose way of showing approximate size of combined build time files such as object files. But this snippet also shows project directories and directory structure. This structure is largely created by the DOS batch file on Windows hosts, and in this case created by the shell script which mimics those same steps. Manually copying this project with these directories then, there should be no need to run the batch file . . .
^ Makefile Clues
Figure x - Build output from LPCXpresso console:
09:52:03 **** Build of configuration Debug for project RTOSDemo **** make -r all Building file: ../Source/FreeRTOS_Source/portable/MemMang/heap_1.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/FreeRTOS_Source/portable/MemMang/heap_1.d" -MT"Source/FreeRTOS_Source/portable/MemMang/heap_1.o" -MT"Source/FreeRTOS_Source/portable/MemMang/heap_1.d" -o "Source/FreeRTOS_Source/portable/MemMang/heap_1.o" "../Source/FreeRTOS_Source/portable/MemMang/heap_1.c" Finished building: ../Source/FreeRTOS_Source/portable/MemMang/heap_1.c Building file: ../Source/FreeRTOS_Source/portable/GCC/ARM_CM0/port.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/FreeRTOS_Source/portable/GCC/ARM_CM0/port.d" -MT"Source/FreeRTOS_Source/portable/GCC/ARM_CM0/port.o" -MT"Source/FreeRTOS_Source/portable/GCC/ARM_CM0/port.d" -o "Source/FreeRTOS_Source/portable/GCC/ARM_CM0/port.o" "../Source/FreeRTOS_Source/portable/GCC/ARM_CM0/port.c" Finished building: ../Source/FreeRTOS_Source/portable/GCC/ARM_CM0/port.c Building file: ../Source/FreeRTOS_Source/list.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/FreeRTOS_Source/list.d" -MT"Source/FreeRTOS_Source/list.o" -MT"Source/FreeRTOS_Source/list.d" -o "Source/FreeRTOS_Source/list.o" "../Source/FreeRTOS_Source/list.c" Finished building: ../Source/FreeRTOS_Source/list.c Building file: ../Source/FreeRTOS_Source/queue.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/FreeRTOS_Source/queue.d" -MT"Source/FreeRTOS_Source/queue.o" -MT"Source/FreeRTOS_Source/queue.d" -o "Source/FreeRTOS_Source/queue.o" "../Source/FreeRTOS_Source/queue.c" Finished building: ../Source/FreeRTOS_Source/queue.c Building file: ../Source/FreeRTOS_Source/tasks.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/FreeRTOS_Source/tasks.d" -MT"Source/FreeRTOS_Source/tasks.o" -MT"Source/FreeRTOS_Source/tasks.d" -o "Source/FreeRTOS_Source/tasks.o" "../Source/FreeRTOS_Source/tasks.c" Finished building: ../Source/FreeRTOS_Source/tasks.c Building file: ../Source/FreeRTOS_Source/timers.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/FreeRTOS_Source/timers.d" -MT"Source/FreeRTOS_Source/timers.o" -MT"Source/FreeRTOS_Source/timers.d" -o "Source/FreeRTOS_Source/timers.o" "../Source/FreeRTOS_Source/timers.c" Finished building: ../Source/FreeRTOS_Source/timers.c Building file: ../Source/Common_Demo_Tasks/IntQueue.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/Common_Demo_Tasks/IntQueue.d" -MT"Source/Common_Demo_Tasks/IntQueue.o" -MT"Source/Common_Demo_Tasks/IntQueue.d" -o "Source/Common_Demo_Tasks/IntQueue.o" "../Source/Common_Demo_Tasks/IntQueue.c" Finished building: ../Source/Common_Demo_Tasks/IntQueue.c Building file: ../Source/Common_Demo_Tasks/blocktim.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/Common_Demo_Tasks/blocktim.d" -MT"Source/Common_Demo_Tasks/blocktim.o" -MT"Source/Common_Demo_Tasks/blocktim.d" -o "Source/Common_Demo_Tasks/blocktim.o" "../Source/Common_Demo_Tasks/blocktim.c" Finished building: ../Source/Common_Demo_Tasks/blocktim.c Building file: ../Source/Common_Demo_Tasks/countsem.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/Common_Demo_Tasks/countsem.d" -MT"Source/Common_Demo_Tasks/countsem.o" -MT"Source/Common_Demo_Tasks/countsem.d" -o "Source/Common_Demo_Tasks/countsem.o" "../Source/Common_Demo_Tasks/countsem.c" Finished building: ../Source/Common_Demo_Tasks/countsem.c Building file: ../Source/Common_Demo_Tasks/recmutex.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/Common_Demo_Tasks/recmutex.d" -MT"Source/Common_Demo_Tasks/recmutex.o" -MT"Source/Common_Demo_Tasks/recmutex.d" -o "Source/Common_Demo_Tasks/recmutex.o" "../Source/Common_Demo_Tasks/recmutex.c" Finished building: ../Source/Common_Demo_Tasks/recmutex.c Building file: ../Source/IntQueueTimer.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/IntQueueTimer.d" -MT"Source/IntQueueTimer.o" -MT"Source/IntQueueTimer.d" -o "Source/IntQueueTimer.o" "../Source/IntQueueTimer.c" Finished building: ../Source/IntQueueTimer.c Building file: ../Source/RegTest.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/RegTest.d" -MT"Source/RegTest.o" -MT"Source/RegTest.d" -o "Source/RegTest.o" "../Source/RegTest.c" Finished building: ../Source/RegTest.c Building file: ../Source/cr_startup_lpc11.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -Os -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/cr_startup_lpc11.d" -MT"Source/cr_startup_lpc11.d" -o "Source/cr_startup_lpc11.o" "../Source/cr_startup_lpc11.c" ../Source/cr_startup_lpc11.c: In function 'pop_registers_from_fault_stack': ../Source/cr_startup_lpc11.c:348:23: warning: variable 'stacked_psr' set but not used [-Wunused-but-set-variable] volatile unsigned int stacked_psr; ^ ../Source/cr_startup_lpc11.c:347:23: warning: variable 'stacked_pc' set but not used [-Wunused-but-set-variable] volatile unsigned int stacked_pc; ^ ../Source/cr_startup_lpc11.c:346:23: warning: variable 'stacked_lr' set but not used [-Wunused-but-set-variable] volatile unsigned int stacked_lr; ^ ../Source/cr_startup_lpc11.c:345:23: warning: variable 'stacked_r12' set but not used [-Wunused-but-set-variable] volatile unsigned int stacked_r12; ^ ../Source/cr_startup_lpc11.c:344:23: warning: variable 'stacked_r3' set but not used [-Wunused-but-set-variable] volatile unsigned int stacked_r3; ^ ../Source/cr_startup_lpc11.c:343:23: warning: variable 'stacked_r2' set but not used [-Wunused-but-set-variable] volatile unsigned int stacked_r2; ^ ../Source/cr_startup_lpc11.c:342:23: warning: variable 'stacked_r1' set but not used [-Wunused-but-set-variable] volatile unsigned int stacked_r1; ^ ../Source/cr_startup_lpc11.c:341:23: warning: variable 'stacked_r0' set but not used [-Wunused-but-set-variable] volatile unsigned int stacked_r0; ^ Finished building: ../Source/cr_startup_lpc11.c Building file: ../Source/main-blinky.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/main-blinky.d" -MT"Source/main-blinky.o" -MT"Source/main-blinky.d" -o "Source/main-blinky.o" "../Source/main-blinky.c" Finished building: ../Source/main-blinky.c Building file: ../Source/main-full.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/main-full.d" -MT"Source/main-full.o" -MT"Source/main-full.d" -o "Source/main-full.o" "../Source/main-full.c" Finished building: ../Source/main-full.c Building file: ../Source/main.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/main.d" -MT"Source/main.o" -MT"Source/main.d" -o "Source/main.o" "../Source/main.c" Finished building: ../Source/main.c Building target: RTOSDemo.axf Invoking: MCU Linker arm-none-eabi-gcc -nostdlib -L"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/Debug" -Xlinker -Map=RTOSDemo.map -Xlinker --gc-sections -mcpu=cortex-m0 -mthumb -T "RTOSDemo_Debug.ld" -o "RTOSDemo.axf" ./Source/FreeRTOS_Source/portable/MemMang/heap_1.o ./Source/FreeRTOS_Source/portable/GCC/ARM_CM0/port.o ./Source/FreeRTOS_Source/list.o ./Source/FreeRTOS_Source/queue.o ./Source/FreeRTOS_Source/tasks.o ./Source/FreeRTOS_Source/timers.o ./Source/Common_Demo_Tasks/IntQueue.o ./Source/Common_Demo_Tasks/blocktim.o ./Source/Common_Demo_Tasks/countsem.o ./Source/Common_Demo_Tasks/recmutex.o ./Source/IntQueueTimer.o ./Source/RegTest.o ./Source/cr_startup_lpc11.o ./Source/main-blinky.o ./Source/main-full.o ./Source/main.o -lCMSISv2p00_LPC11xx Finished building target: RTOSDemo.axf make --no-print-directory post-build Performing post-build steps arm-none-eabi-size RTOSDemo.axf; # arm-none-eabi-objcopy -O binary RTOSDemo.axf RTOSDemo.bin ; checksum -p LPC1114_301 -d RTOSDemo.bin; text data bss dec hex filename 10568 12 7328 17908 45f4 RTOSDemo.axf 09:52:06 Build Finished (took 3s.868ms)
^ Build Issues While Developing Makefile
2018-06-15 - One of the first issues we encounter while creating a makefile for the FreeRTOS demo targeting LPC1114 processor is gcc's complaint of not finding the specifications file named redlib.specs. Gcc.gnu.org talks about specs files at this page:
Here is our error message:
$ make - ## rtos-demo-with-mods - starting, - ## in makefile project name set to 'rtos-demo-with-mods', - ## project root directory set to '/home/user/projects/nxp/rtos-demo', - ## setting compiler flags . . .\n - rtos-demo-with-mods - including common makefile after all var' assignments and recipe declarations, - rtos-demo-with-mods - to bring in often shared information which this project too needs . . . - makefile.common - declaring recipes to convert, compile, clean and debug project . . . - makefile.common - pulling in dependencies of all .o files . . . - makefile.common - done. /usr/bin/arm-none-eabi-gcc -c -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP ./Source/FreeRTOS_Source/portable/MemMang/heap_1.c -o heap_1.o arm-none-eabi-gcc: error: redlib.specs: No such file or directory makefile.common:105: recipe for target 'heap_1.o' failed make: *** [heap_1.o] Error 1 $
We've solved a couple of simple vpath and -I include path problems, but are running into something maybe more subtle or obscure. Gcc is getting an assembly file and does not know how to compile this assembly:
Figure x - snippet of assembly file confusion . . .
. . . /usr/bin/arm-none-eabi-gcc -c -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -I"/opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/include" -I"/opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/lib/gcc/arm-none-eabi/5.4.1/include" -O0 -g3 -Wall -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=/opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/redlib.specs -MMD -MP ./Source/FreeRTOS_Source/portable/GCC/ARM_CM0/port.c -o port.o /tmp/cc6yN6nv.s: Assembler messages: /tmp/cc6yN6nv.s:232: Error: cannot honor width suffix -- `mov r1,#255' /tmp/cc6yN6nv.s:233: Error: cannot honor width suffix -- `lsl r1,r1,#16' /tmp/cc6yN6nv.s:234: Error: cannot honor width suffix -- `orr r2,r1' /tmp/cc6yN6nv.s:240: Error: cannot honor width suffix -- `mov r1,#255' /tmp/cc6yN6nv.s:241: Error: cannot honor width suffix -- `lsl r1,r1,#24' /tmp/cc6yN6nv.s:242: Error: cannot honor width suffix -- `orr r2,r1' /tmp/cc6yN6nv.s:248: Error: cannot honor width suffix -- `mov r2,#0' /tmp/cc6yN6nv.s:257: Error: cannot honor width suffix -- `mov r3,#0' /tmp/cc6yN6nv.s:290: Error: cannot honor width suffix -- `mov r3,#250' /tmp/cc6yN6nv.s:291: Error: cannot honor width suffix -- `lsl r3,r3,#2' /tmp/cc6yN6nv.s:331: Error: cannot honor width suffix -- `mov r2,#128' /tmp/cc6yN6nv.s:332: Error: cannot honor width suffix -- `lsl r2,r2,#21' /tmp/cc6yN6nv.s:378: Error: lo register required -- `add r2,r3,#1' /tmp/cc6yN6nv.s:433: Error: lo register required -- `sub r2,r3,#1' /tmp/cc6yN6nv.s:586: Error: cannot honor width suffix -- `mov r2,#128' /tmp/cc6yN6nv.s:587: Error: cannot honor width suffix -- `lsl r2,r2,#21' /tmp/cc6yN6nv.s:626: Error: cannot honor width suffix -- `mov r2,#0' /tmp/cc6yN6nv.s:630: Error: cannot honor width suffix -- `mov r2,#0' /tmp/cc6yN6nv.s:637: Error: cannot honor width suffix -- `mov r3,#250' /tmp/cc6yN6nv.s:638: Error: cannot honor width suffix -- `lsl r1,r3,#2' /tmp/cc6yN6nv.s:641: Error: lo register required -- `sub r3,r3,#1' /tmp/cc6yN6nv.s:645: Error: cannot honor width suffix -- `mov r2,#7' makefile.common:108: recipe for target 'port.o' failed make: *** [port.o] Error 1
^ edit point . . .
Comparing LPCXpresso build console output with GNU make output at command line, the "hand rolled" makefile way:
FROM LPCXPRESSO BUILD CONSOLE: make -r all Building file: ../Source/FreeRTOS_Source/portable/MemMang/heap_1.c Invoking: MCU C Compiler arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"Source/FreeRTOS_Source/portable/MemMang/heap_1.d" -MT"Source/FreeRTOS_Source/portable/MemMang/heap_1.o" -MT"Source/FreeRTOS_Source/portable/MemMang/heap_1.d" -o "Source/FreeRTOS_Source/portable/MemMang/heap_1.o" "../Source/FreeRTOS_Source/portable/MemMang/heap_1.c" Finished building: ../Source/FreeRTOS_Source/portable/MemMang/heap_1.c HAND-ROLLED: /usr/bin/arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -D__USE_CMSIS=CMSISv2p00_LPC11xx -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"/home/veris/Downloads/freertos/tmp/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc" -I"../../../Common/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/Common_Demo_Tasks/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/include" -I"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOS_Source/portable/GCC/ARM_CM0" -I"/opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/include" -I"/opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/lib/gcc/arm-none-eabi/5.4.1/include" -O0 -g3 -Wall -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra -mcpu=cortex-m0 -mthumb -D__REDLIB__ -specs=/opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/redlib.specs -MMD -MP -c ./Source/FreeRTOS_Source/portable/MemMang/heap_1.c -o heap_1.o
Ok a lot going on here. Also noting that when gcc given -v option for more verbose output, there are some non-existent paths which gcc mentions, which are expressed in the redlib.specs file. These don't look like a source of problems. Also notice there are two identical but differently named instances of the cross-assembler gnu-none-eabi-as:
Figure x -
$ diff /usr/bin/arm-none-eabi-as /usr/lib/arm-none-eabi/bin/as $ file /usr/bin/arm-none-eabi-as /usr/bin/arm-none-eabi-as: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=f5a9351dcc0223be42093524a835a2a3dff2b84f, stripped $ file /usr/lib/arm-none-eabi/bin/as /usr/lib/arm-none-eabi/bin/as: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=f5a9351dcc0223be42093524a835a2a3dff2b84f, stripped $
^ edit point - gcc 6.3 or newer may be needed
Per https://sourceforge.net/p/freertos/discussion/382005/thread/8041642a/ we may need a newer version of gcc, e.g. 6.3 over 4.x in order to get past the error:
GNU assembler version 2.25 (arm-none-eabi) using BFD version (2.25-5+5+b1) 2.25 /tmp/cc8oKrpj.s: Assembler messages: /tmp/cc8oKrpj.s:232: Error: cannot honor width suffix -- `mov r1,#255' /tmp/cc8oKrpj.s:233: Error: cannot honor width suffix -- `lsl r1,r1,#16' /tmp/cc8oKrpj.s:234: Error: cannot honor width suffix -- `orr r2,r1' . . .
^ Makefile Generated By LPCXpresso
First the reference which told us to look in the project (in this case workspace/RTOSdemo) directory for a makefile:
Now the 54 line makefile:
################################################################################ # Automatically-generated file. Do not edit! ################################################################################ -include ../makefile.init RM := rm -rf # All of the sources participating in the build are defined here -include sources.mk -include Source/FreeRTOS_Source/portable/MemMang/subdir.mk -include Source/FreeRTOS_Source/portable/GCC/ARM_CM0/subdir.mk -include Source/FreeRTOS_Source/subdir.mk -include Source/Common_Demo_Tasks/subdir.mk -include Source/subdir.mk -include subdir.mk -include objects.mk ifneq ($(MAKECMDGOALS),clean) ifneq ($(strip $(C_DEPS)),) -include $(C_DEPS) endif endif -include ../makefile.defs # Add inputs and outputs from these tool invocations to the build variables # All Target all: RTOSDemo.axf # Tool invocations RTOSDemo.axf: $(OBJS) $(USER_OBJS) @echo 'Building target: $@' @echo 'Invoking: MCU Linker' arm-none-eabi-gcc -nostdlib -L"/home/veris/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/Debug" -Xlinker -Map=RTOSDemo.map -Xlinker --gc-sections -mcpu=cortex-m0 -mthumb -T "RTOSDemo_Debug.ld" -o "RTOSDemo.axf" $(OBJS) $(USER_OBJS) $(LIBS) @echo 'Finished building target: $@' @echo ' ' $(MAKE) --no-print-directory post-build # Other Targets clean: -$(RM) $(EXECUTABLES)$(OBJS)$(C_DEPS) RTOSDemo.axf -@echo ' ' post-build: -@echo 'Performing post-build steps' -arm-none-eabi-size RTOSDemo.axf; # arm-none-eabi-objcopy -O binary RTOSDemo.axf RTOSDemo.bin ; checksum -p LPC1114_301 -d RTOSDemo.bin; -@echo ' ' .PHONY: all clean dependents .SECONDARY: post-build -include ../makefile.targets
. . .
^ References
- - - NEED MOVE THESE FIRST REFERENCES TO STM32F NOTES - TMH - - -
- https://www.cs.indiana.edu/~geobrown/book.pdf . . . In-depth STM32F development book by Geoffry Brown of Indiana State University
- git://github.com/geoffreymbrown/STM32-Template.git . . . Linux-based STM32 project template
- http://www.st.com/content/st_com/en/support/learning/stm32-education/text-books.html . . . Geoffry Brown and other STM32 books
This reference could also be in the above section on building STM32 projects with GNU make:
- - - ^ MOVE TO STM32F NOTES ^ - - -
- https://batchloaf.wordpress.com/2013/11/29/simple-arm-example-for-lpc1114/
- http://eleceng.dit.ie/frank/arm/index.html . . . part of Frank Duignan 's web page with microcontroller projects
- http://eleceng.dit.ie/frank/arm/BareMetalLPC1114/display/index.html . . . pin signaling to put LPC111x into programming mode
LPCXpresso LPC1343 development board . . .
- https://www.embeddedartists.com/products/lpcxpresso/lpc1343_xpr.php
- https://www.embeddedartists.com/sites/default/files/docs/schematics/LPCXpressoLPC1343revA.pdf . . . schematic of board - NOT COMPLETE! LPC1343 micro missing!
- https://www.nxp.com/downloads/en/schematics/LPCXpresso-LPC1104-schematic-RevA.pdf . . . better schematic
Looking further for necessary FTDI cable to board wiring . . .
GNU gcc as toolchain
- http://www.linuxfromscratch.org/lfs/view/6.2/chapter05/adjusting.html . . . mention of libraries linked, specs files
- - - top of page - - -