在线时间4067 小时
UID3441752
注册时间2017-11-21
NXP金币759430
TA的每日心情 | 开心 2024-3-26 15:16 |
---|
签到天数: 266 天 [LV.8]以坛为家I
管理员
- 积分
- 32003
- 最后登录
- 2024-4-9
|
使用Flash Magic工具更新代码
玩过恩智浦LPC系列MCU的小伙伴,大多都知道Flash Magic工具,这款工具是NXP官方专门针对自己的MCU,开发的一款Flash操作小工具。
Flash Magic工具是一个软件程序,使用它你可以通过UART/SWD/Ethernet等通讯接口,来实现向MCU的Flash烧写程序,以及对特定的内存地址进行擦除和读写等功能。
所以,当你手里的开发板没有集成板载调试功能或者手头没有Jlink等调试工具,又或者板载调试器和Jlink坏掉了无法下载调试程序,此时Flash Magic就可以发挥它的作用了。
使用Flash Magic 烧录代码或者对Flash进行操作时,只需要手头有一个嵌入式工程师标配的USB To TTL转接板,以及几根杜邦线就可以开开心心的将你在IDE中编译、调试好的工程文件烧录到MCU中运行了。
鉴于有的大佬对这款工具可能已经十分熟练了,这篇文章的主要对象就是像我一样的新手小白了,如果大佬们有时间也请阅读指教。
本文测试用的板子是LPCXPresso845MAX Rev A,通过UART来实现和Flash Magic工具的通讯。
查阅开发板的原理图可以看到P0_12为ISP引脚,P0_24为ISP_U_RXD,P0_25为ISP_U_TXD。
由于要进入ISP模式需要保持ISP口的电平为低电平,所以为了省事儿直接将ISP接到了地,话不多说,具体接线请看图:
板子连接好了接下来就是配置Flash Magic,软件可以在Welcome - Flash Magic(flashmagictool.com)下载到,这里我们使用的是NOT FOR PRODUCTION版本,免费版和PRODUCTION版唯一的区别就是不能够同时连接多个设备,如果你不是在生产线用的话问题不大。
具体的使用流程可以参照下图,根据你手头的板子选择Device、Serial Port会自动检测设备的COM口,如果你检测不到COM口就需要检查一下是否安装了USB To TTL转接板的驱动了。
然后,将编译和调试好的工程文件添加到Firmware窗口中;在Option 窗口中选择Verify after Programming,这个功能可以帮助你检查程序是否完整无误的下载到了MCU中;完成上述操作之后点击Start,Flash Magic就开始下载代码了。
代码下载完成之后,测试一下看看代码是否可以成功运行,测试用的代码是手头的一个关于ADC功能的代码,实现的功能是通过串口助手工具对配置的ADC a,b两个规则序列的通道数据读取并输出。
板子的接线和实际的串口助手输出的测试结果如下图,测试代码运行正常。
最后分享一个在使用LPCXpresso845MAX开发板测试过程中遇到的小问题,代码下载完成后,程序只能通过串口发送数据却无法接受数据。检查程序和开发板原理图发现,程序中将P1_16设置为串口的接收。
TARGET_RX_DEBUG_P1_16口在开发板上连接到了TARGET_RX_DEBUG_L_P1_16,而P3上只外接了TARGET_RX_DEBUG_A_P1_16口,导致程序无法通过串口接收数据。
因此,在使用LPCXpresso845MAX开发板的串口功能时,建议不要将串口功能配置到P1_16口。
|
|