LPCXpresso

From Wiki at Neela Nurseries
Revision as of 19:21, 14 June 2018 by Ted (talk | contribs) (^ Build Issues While Developing Makefile)
Jump to: navigation, search

ARM processor notes  :  STM32F10x notes

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


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,


^ 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'


. . .

^ References

- - - NEED MOVE THESE FIRST REFERENCES TO STM32F NOTES - TMH - - -

This reference could also be in the above section on building STM32 projects with GNU make:

- - - ^ MOVE TO STM32F NOTES ^ - - -



LPCXpresso LPC1343 development board . . .


Looking further for necessary FTDI cable to board wiring . . .


GNU gcc as toolchain


- - - top of page - - -