Part Number: CC2564CSTBTBLESW
Other Parts Discussed in Thread: CC2564C
Hi,
I am trying to reduce the flash and RAM usage of the Bluetopia stack and have followed the steps described in the Using the Flexible Build Library.pdf, which comes together in the CC2564CSTBTBLESW (v4.2.1.0). It generates the two .a library files but I have compile errors when using them. I would describe the details in below and hope someone would share some ideas on it.
1. Hardware and stack: I am using the chip CC2564C and the CC2564CSTBTBLESW (v4.2.1.0) stack for STM32. The application is based on classic HID demo from the stack and only HID device is in needed.
2. I have followed the steps described in the Using the Flexible Build Library, and as only the HID device mode is needed, the command line in used for the Perl script is:
fbl_iar.pl 32_M4 --hiddevice
It generates two files which are \generated_libs\lib\ewarm\FreeRTOS\Bluetopia_32_M4.a and \generated_libs\profiles\hid\lib\ewarm\SS1BTHID_32_M4.a. I have hence configured the IAR project to use these two libraries but received the following compile errors:
Error[Li005]: no definition for "TWUART_Initialize" [referenced from HCIComm_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "TWUART_Shutdown" [referenced from HCIComm_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "TWUART_Reconfigure" [referenced from HCIComm_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "TWUART_Resynchronize" [referenced from HCIComm_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "TWUART_TransmitBytes" [referenced from HCIComm_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "TWUART_ReceiveBytes" [referenced from HCIComm_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "InitializeCertificateModule" [referenced from BSC_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "GetCertLength" [referenced from BSC_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "GetCertPtr" [referenced from BSC_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "GetCertCurrentDate" [referenced from BSC_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "GetAccess" [referenced from BSC_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "CleanupCertificateModule" [referenced from BSC_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "ECDH_calc_init" [referenced from GAPLE_Empty_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "ECDH_Get_Local_Keys" [referenced from GAPLE_Empty_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "ECDH_calc_pair" [referenced from GAPLE_Empty_32_M4.o(Bluetopia_32_M4.a)]
It looks the built libraries doesn't really contain everything it needs. Some of these errors can be fixed by adding extra .o files from \lib_fbl\Objects but with the last three errors left:
Error[Li005]: no definition for "ECDH_calc_init" [referenced from GAPLE_Empty_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "ECDH_Get_Local_Keys" [referenced from GAPLE_Empty_32_M4.o(Bluetopia_32_M4.a)]
Error[Li005]: no definition for "ECDH_calc_pair" [referenced from GAPLE_Empty_32_M4.o(Bluetopia_32_M4.a)]
I would appreciate anyone share some idea on how to fix the error or on how to generate the libraries with only HID device.
Any input is highly appreciated.