LPCXpresso
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 ^ Linker Script Details
- 10 ^ FreeRTOS Demonstration Project For LPC1114
- 11 ^ LPC1114 Serial Port Configuration
- 12 ^ References
OVERVIEW
This nn article to hold notes on LPCXpresso Integrated Development Environment and NXP microcontroller programming methods. Author Ted expects the IDE to include or call on tools such as gcc, g++, as, ld, objcopy and related others. Programming methods expected to include FTDI cable based programming employed with FlashMagic and lpc21isp.
As of 2018 Q2 article contributor Ted using LPCXpresso v8.2.2 [Build 650] [2016-09-09].
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
In summary the pins to grab for programming an LPC1114 in 48-pin package are:
VDD . . . pins 8, 44 GND . . . pins 5, 41 TXD . . . pin 47 RXD . . . pin 46 P0.1 . . . pin 4 (also called 'FT' or 'FTOGGLE') P0.3 . . . pin 14 (also called 'USB-VBUS')
^ 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
The readily visible, top level contents of this directory are:
~/Downloads/freertos/FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo$ ls CreateProjectDirectoryStructure.bat Source z--002--create-project-structure.txt Debug create-project-directory-structure.sh z--create-project-structure.txt
There are a couple of hidden project files here, created and or used by LPCXpresso:
$ ls -a . .cproject .settings Debug create-project-directory-structure.sh z--create-project-structure.txt .. .project CreateProjectDirectoryStructure.bat Source z--002--create-project-structure.txt
Note: in the LPCXpresso managed product directory there are hidden files named .cproject and .project . . .
Both files .cproject and .project are XML files. The file .cproject is longer among these two files and includes details of the compiler used in a given project, plus options passed to this compiler, plus at least one project include path. The file named .project contains in the first few lines a line expressing the project name as LPCXpresso IDE knows it. This project name must be unique within the projects imported to a given LPCXpresso workspace. This workspace on Unix and Linux-like systems defaults to the directory ${HOME}/LPCXpresso.
The name of the project we're attempting to copy and start as a new and editable project is 'RTOSDemo', a patterm which appears several times in file .cproject:
Figure x -
$ grep -n RTOSDemo ../.cproject 23: <builder arguments="-r" buildPath="${workspace_loc:/RTOSDemo/Debug}" command="make" id="com.crt.advproject.builder.exe.debug.1260101970" keepEnvironmentInBuildfile="true" managedBuildOn="true" name="Gnu Make Builder" superClass="com.crt.advproject.builder.exe.debug"/> 40: <listOptionValue builtIn="false" value=""${workspace_loc:/FreeRTOS/Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source}""/> 61: <option id="com.crt.advproject.link.script.1758870530" name="Linker script" superClass="com.crt.advproject.link.script" value=""RTOSDemo_Debug.ld"" valueType="string"/> 118: <builder buildPath="${workspace_loc:/RTOSDemo/Release}" id="com.crt.advproject.builder.exe.release.1281961847" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="com.crt.advproject.builder.exe.release"/> 149: <option id="com.crt.advproject.link.script.1856833348" name="Linker script" superClass="com.crt.advproject.link.script" value=""RTOSDemo_Release.ld"" valueType="string"/> 182: <project id="RTOSDemo.com.crt.advproject.projecttype.exe.777175218" name="Executable" projectType="com.crt.advproject.projecttype.exe"/> 343: <resource resourceType="PROJECT" workspacePath="/RTOSDemo"/> 346: <resource resourceType="PROJECT" workspacePath="/RTOSDemo"/> $
Unfortunately the LPC1114 FreeRTOS demo project name is used in two or three different ways in the file named .cproject. Most of the time it is used as the project's name, but a couple of times this text pattern or name appears in the filenames of linker scripts. In another instance it's part of a host system directory path to the project. The places where pattern 'RTOSDemo' most closely relates to LPCXpresso project are where it appears on lines which refer to ${workspace_loc}. Given this it looks like we want to change the project name RTOSDemo to a new project name on lines 23, 118, 343 and 346, where this name stands for a project name, rather than part of a path or part of a linker script filename.
LPCXpresso file .project contains two references to the pattern RTOSDemo:
$ grep -n RTOSDemo ../.project 3: <name>RTOSDemo</name> 35: <value>${workspace_loc:/RTOSDemo/Debug}</value>
^ edit point - create directory structure script
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
TO-DO 2018-06-25: break out the above two compiler invocations into one option per line, for easier comparison, - TMH
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
^ edit point - finding and pointing make to .a library files
On Thursday, yesterday, we found a makefile created by LPCXpresso or one of its called tools, in the Debug directory of our RTOSDemo project instance. Working now with a copy of that makefile in a project we did not import, nor unzip from a zip archive, but started out as a general C/C++ project. TO DO: Contributor Ted notes here that we must retrace those project creation steps so we know thoroughly how to get a project off the ground in the LPCXpresso IDE.
There are different types of library files in C and C++ projects, library files which can be linked in to a binary at compile time or loaded at run time. On the Linux and GCC side it may be necessary to point `make` to dot a archive type library files, by using the -L option . . .
$ locate libcr_c.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/libcr_c.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/armv6-m/libcr_c.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/armv7-m/libcr_c.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/armv7e-m/libcr_c.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/armv7e-m/fpu/libcr_c.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/armv7e-m/softfp/libcr_c.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/thumb/libcr_c.a $ ls -l /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/libcr_c.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/thumb/libcr_c.a -rwxr-xr-x 1 root root 235420 Jul 21 2016 /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/libcr_c.a -rwxr-xr-x 1 root root 216552 Jul 21 2016 /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/arm-none-eabi/lib/thumb/libcr_c.a $ locate libcr_eabihelpers.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/lib/gcc/arm-none-eabi/5.4.1/libcr_eabihelpers.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/lib/gcc/arm-none-eabi/5.4.1/armv6-m/libcr_eabihelpers.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/lib/gcc/arm-none-eabi/5.4.1/armv7-m/libcr_eabihelpers.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/lib/gcc/arm-none-eabi/5.4.1/armv7e-m/libcr_eabihelpers.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/libcr_eabihelpers.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/lib/gcc/arm-none-eabi/5.4.1/armv7e-m/softfp/libcr_eabihelpers.a /opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/lib/gcc/arm-none-eabi/5.4.1/thumb/libcr_eabihelpers.a $
^ edit point - linker not finding symbol defined in .ld file
Linker having trouble finding ResetISR
. . .
$ grep -nr ResetISR ./* ./rtos-demo-with-mods/Debug/RTOSDemo_Debug.ld:14:ENTRY(ResetISR) ./rtos-demo-with-mods/Debug/RTOSDemo_Debug.ld:110: + (ResetISR + 1) ./rtos-demo-with-mods/Debug/RTOSDemo.map:963: 0x00000120 ResetISR ./rtos-demo-with-mods/Debug/RTOSDemo.map:1393: [!provide] PROVIDE (__valid_user_code_checksum, (0x0 - (((_vStackTop + (ResetISR + 0x1)) + (DEFINED (NMI_Handler)?NMI_Handler:M0_NMI_Handler + 0x1)) + (DEFINED (HardFault_Handler)?HardFault_Handler:M0_HardFault_Handler + 0x1)))) ./rtos-demo-with-mods/Source/cr_startup_lpc11.c:66: void ResetISR(void); ./rtos-demo-with-mods/Source/cr_startup_lpc11.c:138: ResetISR, // The reset handler ./rtos-demo-with-mods/Source/cr_startup_lpc11.c:197:// ResetISR() function in order to cope with MCUs with multiple banks of ./rtos-demo-with-mods/Source/cr_startup_lpc11.c:256:ResetISR(void) { ./rtosdemo/Debug/RTOSDemo_Debug.ld:14:ENTRY(ResetISR) ./rtosdemo/Debug/RTOSDemo_Debug.ld:110: + (ResetISR + 1) ./rtosdemo/Debug/RTOSDemo.map:963: 0x00000120 ResetISR ./rtosdemo/Debug/RTOSDemo.map:1393: [!provide] PROVIDE (__valid_user_code_checksum, (0x0 - (((_vStackTop + (ResetISR + 0x1)) + (DEFINED (NMI_Handler)?NMI_Handler:M0_NMI_Handler + 0x1)) + (DEFINED (HardFault_Handler)?HardFault_Handler:M0_HardFault_Handler + 0x1)))) ./rtosdemo/Source/cr_startup_lpc11.c:66: void ResetISR(void); ./rtosdemo/Source/cr_startup_lpc11.c:138: ResetISR, // The reset handler ./rtosdemo/Source/cr_startup_lpc11.c:197:// ResetISR() function in order to cope with MCUs with multiple banks of ./rtosdemo/Source/cr_startup_lpc11.c:256:ResetISR(void) { $
So one thing we see is that symbol ResetISR
appears in linker files of type .ld, in .map files and in .c files. Symbol ResetISR
does not appear in any header files of this project. Where in our rtos-demo-with-mods project makefile do we touch or change references to any .map files? . . .
^ Linker Script Details
Good details on linker scripts here:
-Xlinker option and related:
. . .
^ FreeRTOS Demonstration Project For LPC1114
Key points in FreeRTOS demonstration project for LPC1114:
- choose between blink demo and full in main.c, by defining mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to be (1),
Simpler LED blink demo has its period of blinking set by delay in prvQueueSendTask() function, as explained in excerpt from file main-blinky.c:
43 * The Queue Send Task: 44 * The queue send task is implemented by the prvQueueSendTask() function in 45 * this file. prvQueueSendTask() sits in a loop that causes it to repeatedly 46 * block for 200 milliseconds, before sending the value 100 to the queue that 47 * was created within main_blinky(). Once the value is sent, the task loops 48 * back around to block for another 200 milliseconds.
This time period is puond defined on about line 79 in main-blinky.c:
#define mainQUEUE_SEND_FREQUENCY_MS ( 200 / portTICK_PERIOD_MS )
. . .
^ LPC1114 Serial Port Configuration
Initial search and exercises of LPC1114 serial port . . .
In this PDF file named AN10955.pdf there's mention of a more primary starting point for UART software implementations in LPC11xx and LPC13xx parts,
-
"For the principle of software UART implementation, please refer to AN10689 . . ."
^ 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 . . .
^ edit point . . .
GNU gcc as toolchain
- http://www.linuxfromscratch.org/lfs/view/6.2/chapter05/adjusting.html . . . mention of libraries linked, specs files
LPC1114 software UART software serial port
- https://community.nxp.com/thread/426583
- https://github.com/tacowars/LPC1114-sandbox/blob/master/drivers/swuart/src/swuart_main.c
This may be a better link, many drivers here:
This looks interesting also, lpcxpresso project template file . . .
- - - top of page - - -