本文主要介绍了如何在Keil 4.74环境下编译EZ-USB FX3相关的工程,包括FX3 SDK的主要组件、特定的GNU交叉编译工具路径配置、C编译设置、输出文件类型的选择以及构建过程中的用户命令。
1. FX3 SDK主要组件:
在FX3 SDK中,主要包括以下几个库:
- User firmware Libraries:用户固件库
- ThreadX RTOS (cyu3threadx.a):实时操作系统库
- FX3 API Library (cyfxapi.a):FX3应用程序接口库
- Serial Peripheral API Library (cyu3lpp.a):串行外设接口库
- Storage API Library (cyu3sport.a):存储接口库
- MIPI CSI-2 API Library (cyu3mipicsi.a):MIPI CSI-2接口库
在调试低功耗测试例程时,需要链接以下库:libcyu3lpp.a、libcyfxapi.a、libcyu3threadx.a、libc.a和libgcc.a,并指定相应的搜索路径。
2. GNU交叉编译工具路径:
在项目管理中,指定GNU工具前缀为“arm-none-eabi-”,并将GNU工具文件夹指向"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\"。
3. C编译设置:
预定义符号`__CYU3P_TX__`=1,包含路径设置为..\inc,且不启用优化。
4. 输出文件类型:
在项目选项中,选择创建带有调试信息的对象文件。
5. 构建后用户命令:
编译生成elf文件后,通过执行"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\util\elf2img\elf2img.exe",输入elf文件(fx3.elf),输出img文件(fx3.img)以供下载。
6. 具体步骤总结:
完成以上配置后,点击构建按钮,将会看到类似图示的构建输出日志。
通过这些步骤,用户可以在Keil 4.74环境中成功编译并生成适用于FX3的固件程序,实现对FX3设备的控制和功能扩展。同时,FX3固件的入口点是CyU3PFirmwareEntry()函数,需要在链接器命令中手动指定。