本篇文章为大家展示了如何基于CAN的bootloader在KEAZ系列上的移植,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
在实际的工程和产品开发中,我们需要更新产品的程序,这时候就需要产品具备bootloader引导程序功能,而嵌入式中常用的接口有基于UART,CAN,IIC,SPI, 以太网等,今天我们来看看使用广泛的基于CAN的bootloader在NXP汽车控制器S9KEAZ系列上的移植。
首先因为我们使用上位机PC来下载程序而上位机不能直接连接CAN总线,所以还需要一个转接板将CAN通讯转成串口通讯接入上位机PC,PC和转接板之间使用XMODEM文件传输协议。
S9KEAZ64同KE06是一样的资源和手册,只是应用的温度范围不同,可以使用KE06的SDK快速建立工程。
整体的结构和硬件连接
因为我实际的板子使用的是内部时钟,和freedom不同,所以要修改时钟
为FEI模式
根据Flash分配设置应用程序运行的起始地址
其实我们将中断向量表从0地址,重新定位到了0x5000,我们可以使用NXP官网提供的工具将bootloader的程序和应用程序合成,这个工具支持使用Srec文件合同,我们也可以配置IDE生成bin文件使用其他支持的工具合bin文件。
将合成后的文件下载到自己的硬件板件,准备几个不同的应用程序bin文件,来测试我们移植好的bootloader,测试上位机使用tera term,tera term是免费开源的虚拟终端,支持网口和串口,且内置很多协议,设置串口为115200,N8,1, 然后如果板子进入下载模式,选择下载的文件
等待下载完成,根据自己应用程序的需求测试看是否通过,我自己使用的两个测试bin文件会输出不同的CAN消息,且操作不同的继电器。我们也可以将J1939程序加入,完成基于J1939的bootloader。NXP官网还提供了MCUBOOT2.0.0的下载包,但是目前还不支持KE06和S9KEAZ系列,需要自己动手移植,且移植工作量比较大但是是比较标准和量产正式的bootloader供用户使用。而且支持的芯片的bootloader已经集成进SDK供用户使用,也很方便,如果能支持全系列就更好了。
上述内容就是如何基于CAN的bootloader在KEAZ系列上的移植,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。