查看: 4745|回复: 1

fm33lcxx+linux+gcc+makefile点灯例程

[复制链接]

5

主题

12

帖子

425

积分

高级工程师

Rank: 3Rank: 3

积分
425
发表于 2020-11-27 14:38:31 | 显示全部楼层 |阅读模式
本帖最后由 791314247 于 2020-11-28 18:09 编辑

获取方法:
1,下载本附件
2,git clone我的:git@github.com:791314247/fm33lc0x_for_linux_project.git
环境:
1,linux下安装arm-none-eabi-gcc工具链
2,linux下安装Jlink最新版驱动(V6.88a)
附件上传不上去,故分享个网盘永久链接
链接:加HTTP加斜杠pan.baidu.com/s/11YnBjWtl9L9V7YCQABC60Q
提取码:ysgp
3,linux下装好Jlink驱动后执行make download会显示找不到FM33LCXX,解决方法如下:
(1)从附件下载FM33LC02x的Jlink环境包
(2)执行: sudo mkdir /opt/SEGGER/JLink/Devices/ FM 创建FM文件夹,名字必须是FM
(3)将Jlink环境包里的.FLM结尾的文件全部移动向刚才创建的 /opt/SEGGER/JLink/Devices/ FM 文件夹
(4)将Jlink环境包里的JLinkDevices.xml文件移动到/opt/SEGGER/JLink/文件夹覆盖之。
(5)这一步很重要,分别到刚才的2个文件夹执行sudo chmod 777命令,给刚刚移动的所有文件777权限,否则是用不了的

使用方法:
1,根目录下执行make指令,即可编译出.hex .bin .elf文件
2,执行make clean,可清除.o .d文件
3,执行make cleanAll,可清除.o .d .hex .bin .elf文件
4,执行make download,可一键下载hex到目标板子并让板子复位运行,相当于keil的一键下载按钮
5,执行make commit,可一键推送到你的github或者giteee远程服务器上去,但前提是你自己创建了这个工程的git

仿真方法:
1,根目录下执行make JLinkGDBServer指令,自动搭建起JLink GDB Server
2,另起一个终端,来到工程根目录,执行make debug命令,即可自动跳到main函数。
3,或者使用vscode 里的插件Cortex debug,这个插件用了后可以实现和ide一模一样的仿真,比如看外设寄存器值(需要.SVD文件),看所有变量,保存断点等等,个人觉得比keil、IAR之流方便,谁用谁知道,具体使用方法Google一下就知道了。

如果执行make debug失败,注意检查下GDB服务器的端口是否对应上,检查方法是在执行命令的时候加V=1参数。
如果端口没对应,改一下Makefile里的端口号就好,位置在下图:
****
理论上可适用所有芯片,包括复旦微所有系列、ST所有系列等等,我均已测试通过,只需要将里面的启动文件和链接脚本换成你所用的芯片
然后在Makefile里面改一下启动文件和链接脚本的名字就行(Makefile全部中文注释)。
其他有问题的话在这里说就好了,或者联系我QQ791314247。




fm33lc0x_for_linux_project.zip

1.28 MB, 下载次数: 264

FM33LC0XX_Linux_Jlink环境包.zip

18.78 KB, 下载次数: 187

回复

使用道具 举报

3

主题

14

帖子

97

积分

中级工程师

Rank: 2

积分
97
发表于 2022-6-8 10:36:36 | 显示全部楼层
楼主,加上Free RTOS之后可以在Linux下编译吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表