请选择 进入手机版 | 继续访问电脑版
查看: 2123|回复: 0

[原创] [经验分享]自行编译mcu调试固件

[复制链接]

该用户从未签到

653

主题

6308

帖子

0

超级版主

Rank: 8Rank: 8

积分
19847
最后登录
2024-4-16
发表于 2020-8-7 09:05:15 | 显示全部楼层 |阅读模式
我们的debug固件一般都是从nxp官网下载的。nxp.com/opensda。但有时候我们想要bootloader和固件的源码,根据自己要求进行修改。所以我们介绍一下daplink这个开源项目。Arm Mbed DAPLink是一个开源软件项目,可对运行在Arm Cortex CPU上的应用程序软件进行编程和调试。 DAPLink通常称为接口固件,它在连接到应用程序MCU的SWD或JTAG端口的辅助MCU上运行。
它提供了k20的bootloader和接口固件以及k26的bootloader和接口固件。很多frdm板子使用的是k20作为debugger,也有少数板子使用k26作为debugger。
板子:FRDM-K64
电脑操作系统:WIN10
工程安装步骤:
1、 安装git,python2.7.11以上,将这两个软件加入电脑系统环境变量(必须),最好将python下的scripts文件夹也加入环境变量,安装keil。DAPlink暂时只支持keil
2.PNG
1.1.png
                              
2、 使用python安装pip,可以网上搜教程
3、 安装virtualenv,使用powershell(按住shift,点击鼠标右键), 输入pipinstall virtualenv
4、 之后命令都是在powershell下完成。获取源码
git clone http://github.com/mbedmicro/DAPLink,会在你当前目录生成一个DAPLink文件夹
Capture.PNG
5、 进入目录cd DAPLink,这个文件夹下的docs/DEVELOPERS-GUIDE.md,是更加详细的如何使用这个DAPLink。
6、 安装virtualenv ,pip install virtualenv
7、 创建虚拟环境,virtualenv venv
8、 输入venv/Scripts/activate.bat激活虚拟环境
9、 安装必要工具,pip install -r requirements.txt
10、          产生keil工程,progen generate -t uvision,会产生projectfiles/uvision,进入文件夹就会发现各种bootloader和固件。名字带有bl的是bootloader,名字带有if是接口固件,要拖进mcu里的。打开第一个关于k20的工程,编译以后会产生bin文件,bin文件带crc的是我们要烧录的或者要拖的。对于名字if是一样的。编译时候会调用git命令,如果不添加这个命令到环境变量,编译就无法通过。
这是bootloader源码
4.PNG
生成的bin文件
5.PNG
这是接口固件源码

6.PNG
生成的bin文件,带0x的就是不同的固件地址,一般DAPLink的bootloader默认的固件地址是0x8000,从上图可以看到是这个宏定义DAPLINK_ROM_IF_START,所以我们要拖的文件就是带名字0x8000的文件,如果在bootloader里修改了固件起始地址,接口固件也要对应修改。
7.PNG

将bootloader烧入k20,再拖接口固件进入k20就可以看到这样结果
8.PNG

1.PNG
3.PNG

自行编译mcu调试固件.pdf

565.28 KB, 下载次数: 12, 下载积分: 威望 1

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-17 00:46 , Processed in 0.116068 second(s), 20 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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