01-16-2020 02:13 PM
SDK version: 2019.1
I'm working on my application using a FreeRTOS BSP. From SDK menu, the FreeRTOS can be customized by editing "FreeRTOSConfig.h" via the Board Support Package Settings window. I followed up the instructions steps to open the Board Support Package Settings window. However, I cannot open the Board Support Package Settings window from SDK I am using.
I believe this is a simple issue. Is there something wrong setting in my SDK (why I cannot open the setting GUI window)?
01-21-2020 12:21 AM
01-21-2020 10:19 AM
After I selected 'Board Support Package Settings' from SDK, I see the error:
ERROR: [Common 17-39] 'hsi::open_sw_design' failed due to earlier errors.
not sure if my environment setting in SDK needs a special configuration.
01-21-2020 11:12 PM
Loks like the mss file is corrupt. The tools are trying to open the BSP and failing.
How did you generate the BSP? Did you just do File -> New BSP, and for the OS select FreeRTOS?
01-23-2020 04:18 PM
I have seen this issue if other application project were in the open state. Try closing all un-needed application projects leaving just the BSP open (right-click and "close project")
01-23-2020 04:56 PM
As you suggested, I closed all projects and keep BSP one open.
Then, I have the same error - ERROR: [Common 17-39] 'hsi::open_sw_design' failed due to earlier errors.
01-27-2020 11:18 AM
Looks like my mss is corrupted. So, in this case, I re-created my 'Application Project'. Then, the new BSP is automatically generated.
From the new mss file, I added the 'xilffs' library:
PARAMETER LIBRARY_NAME = xilffs
PARAMETER LIBRARY_VER = 3.7
PARAMETER PROC_INSTANCE = psu_cortexr5_0
PARAMETER num_logical_vol = 1
But, when I tried to build the application, I always got some errors:
undefined reference to `f_opendir'
undefined reference to `f_mkdir'
So, the 'xilffs' library cannot be referenced by the compiling tools (maybe linker) somehow. Do you know how fix this issue?
01-29-2020 04:31 AM
Can you see if the xilffs library has been built in your BSP? It should be under the lib folder within your BSP alongside libxil.a
If so then you need to check if you application is linking the library or not, take a look to the linker setting in the application project settings.
01-29-2020 01:29 PM
I checked the BSP library built. I can see the libraries: libxil.a and libxilffs.a
I think the issue is how to add the libraries into the application project settings. I appreciate if you can tell me how to add the new libraries via the application project settings (i.e., the detail steps).
01-29-2020 02:25 PM
I tried to add the library via the application project settings. Maybe I am not right. I got the following error logging:
cannot find -l../../FW_bsp/psu_cortexr5_0/lib/libxilffs.a
cannot find -l../../FW_bsp/psu_cortexr5_0/lib/libxil.a
'Building target: FW.elf'
'Invoking: ARM R5 gcc linker'
armr5-none-eabi-gcc -L../../FW_bsp/psu_cortexr5_0/lib -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -Wl,-T -Wl,../src/lscript.ld -L../../FW_bsp/psu_cortexr5_0/lib -o "FW.elf" ./src/drivers/AD5645.o ./src/drivers/ADS1015.o ./src/drivers/ADS7142.o ./src/drivers/Communication.o ./src/drivers/EEPRom24AA014H.o ./src/drivers/EMMC.o ./src/drivers/HVPSDAC.o ./src/drivers/I2cTOP.o ./src/drivers/INA226.o ./src/drivers/ISIE19SensorCtrl.o ./src/drivers/LTC2451.o ./src/drivers/LTC2499.o ./src/drivers/MAX11617.o ./src/drivers/MCP4726.o ./src/drivers/PCAL6408.o ./src/drivers/PCAL9554.o ./src/drivers/TMP112.o ./src/drivers/TPL0102.o ./src/drivers/ad5622.o ./src/drivers/fpga.o ./src/drivers/fpgaTop.o ./src/drivers/gpioTop.o ./src/drivers/insitu_calibration.o ./src/drivers/max1239.o ./src/drivers/si5338.o ./src/drivers/spiTop.o ./src/drivers/tmp101.o ./src/drivers/uartTop.o ./src/drivers/xusbpsu_cdc.o ./src/drivers/xusbpsu_ch9.o ./src/drivers/xusbpsu_ch9_cdc.o ./src/drivers/xusbpsu_class_cdc.o ./src/Utils/bits.o ./src/Utils/convert.o ./src/Utils/crc16.o ./src/Utils/stopwatch.o ./src/Tests/Testing.o ./src/Tasks/TaskAGC.o ./src/Tasks/TaskComm.o ./src/Tasks/TaskControlMngr.o ./src/CameraSettings/FileConfiguration.o ./src/CameraSettings/FirmwareRegistersSet.o ./src/CameraSettings/HVPSRegistersSet.o ./src/CameraSettings/HealthMonitoringRegistersSet_CWG.o ./src/CameraSettings/HealthMonitoringRegistersSet_Prototype.o ./src/CameraSettings/ImagingMode.o ./src/CameraSettings/PowerControlRegistersSet.o ./src/CameraSettings/RegisterReadWrite.o ./src/CameraSettings/fpgaCSR.o ./src/CameraSettings/fpgaRegistersSet.o ./src/CameraConfig/Configuration.o ./src/CameraConfig/DebugDefinitions.o ./src/NightOwl.o -lm -l../../FW_bsp/psu_cortexr5_0/lib/libxilffs.a -l../../FW_bsp/psu_cortexr5_0/lib/libxil.a -Wl,--start-group,-lxil,-lfreertos,-lgcc,-lc,--end-group
c:/xilinx/sdk/2019.1/gnu/armr5/nt/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/8.2.0/../../../../arm-none-eabi/bin/ld.exe: cannot find -l../../FW_bsp/psu_cortexr5_0/lib/libxilffs.a
c:/xilinx/sdk/2019.1/gnu/armr5/nt/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/8.2.0/../../../../arm-none-eabi/bin/ld.exe: cannot find -l../../FW_bsp/psu_cortexr5_0/lib/libxil.a
collect2.exe: error: ld returned 1 exit status
make: *** [makefile:44: FW.elf] Error 1
Please let me know how/where I need to do something.
01-30-2020 03:47 AM
Taking a look to the error message you can realize that the issue is related that you are not properly using the -l option in the linker.
Add the archive or object file specified by namespec to the list of files to link. This option may be used any number of times. If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a.
The usual way to add a library to your build is adding the library name without the lib appendix. As the libraries are build as part of the BSP project, the path is already added in the default settings.