比亚迪单片机怎么下载程序

比亚迪单片机怎么下载程序,第1张

1、要运用JTAG方法下载程序,不管是运用J-LINK、ULINK、ST-LINK,只需求把单片机上相应的程序下载留出来,然后和编程器连接上就能够下载程序了。

2、要经过ISP方法下载程序,需求用到单片机内部自带的Bootloader,这个Bootloader是预制在单片机内部的,出厂自带的,在出厂后就不能修正或擦除。

STM32调试过程中常见的问题及解决方法 一、 在“Debug选项卡”下设置好仿真器的类型后,下载程序时却提示“No ULINK Device found.”

解决办法: Keil MDK默认使用ULINK仿真器下载程序,在“Project --->Option for Target 'xxx' --->Utilities选项卡”下把编程所使用的仿真器改为相应的类型即可。

二、 编译工程时提示如下信息:

main.axf: Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from stm32f10x_nvic.o).

main.axf: Error: L6218E: Undefined symbol __GetBASEPRI (referred from stm32f10x_nvic.o).

main.axf: Error: L6218E: Undefined symbol __RESETFAULTMASK (referred from stm32f10x_nvic.o).

main.axf: Error: L6218E: Undefined symbol __RESETPRIMASK (referred from stm32f10x_nvic.o).

main.axf: Error: L6218E: Undefined symbol __SETFAULTMASK (referred from stm32f10x_nvic.o).

main.axf: Error: L6218E: Undefined symbol __SETPRIMASK (referred from stm32f10x_nvic.o).

解决办法:工程缺少“cortexm3_macro.s”文件,把cortexm3_macro.s和STM3210x.s全部添加到工程即可。

三、调试器不能连接到STM32的问题与解决办法

很多人都碰到过调试器不能连接到STM32的问题,不管是IAR的J-Link还是Keil的ULink,或者是ST的ST-Link。出现这个问题时,调试软件会提示不能建立与Cortex-M3的连接,或提示不能下载程序,或提示找不到要调试的设备等。

这样的问题都是发生在调试那些可以在CPU不干预的时候自动运行的模块、或在调试低功耗模式的程序的时候。所谓“可以在CPU不干预的时候自动运行的模块”包括:DMA、定时器、连续转换模式下的ADC、看门狗等模块。

--------------------------------------------------------------------------------

这个问题的根源是:

1. 调试器需要在RAM内执行一段程序,对Flash进行擦写 *** 作,如果不停止这些自动运行的模块,它们会干扰程序在RAM中的执行,致使下载失败。比如DMA模块被配置为不停地拷贝一段数据区,而调试器刚好需要使用DMA数据传输的目标区域,这时DMA的 *** 作将会与调试器的 *** 作发生冲突。再比如,如果启动了看门狗而没有执行硬件复位,则在下次调试器需要下载程序时,看门狗超时将触发芯片复位,导致下载 *** 作失败。

2. 低功耗是通过停止CPU的时钟而实现,JTAG调试是通过与CPU的通信实现,停止了CPU的时钟致使调试器会失去与CPU的通信。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7845192.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存