前几天进手了一个,因为H-JTAG毕竟对MDK支持的不是太完美,比如用keil mdk上面的下载按钮烧录程序,不是直接就能烧录进去,而是弹出H-Flash软件,再手工选择文件烧录;而且用H_JTAG单步调试还容易莫名其妙的跑飞。好在J-LINK不是太贵(我是说国内仿制的),mdk又能比较完美的支持J-link,今天就将我使用mdk和J-link的情况做一下记录。
1.这里我选择的是LPC2114,可以根据自己的芯片选择。
可以看到J-link的指示灯一阵闪烁,很快就可以下载完毕。
第二:使用J-link单步调试。
mdk下使用J-link单步调试比较容易。
如果没有其他要求默认即可,一路点击OK退出设置。
进入调试界面,具体调试步骤不再详述.
settings...弹出如下所示的工程设置对话框:
按照图中的1,2,3设置,再点击CPU选项卡,如下所示:
按照图中1,2,3设置,第3步可以根据自己的芯片选择,这里我选择的是lpc2114。
其他选项卡可以默认,也可以根据自己需要进行设置.
按下F5后,会弹出是否设置校验的提示对话框,为安全起见,选择后yes.烧录成功后会弹出对话框进行提示.
的映射。 存取区一般不需要设置,除非用于IAP或APP需要调整区域空间;3、生成hex文件,即烧录文件。是在keil中编写程序并编译连接成可以下载到开发板的 .hex 文件,然后用jlink仿真器下载;2,是在uboot APP中编写编译代码,生成的是 .bin 文件,可以用uboot
我们先来看看STM32 正常的程序运行流程:STM32 的内部闪存(FLASH)地址起始于0x,一般情况下,程序文件就从此地址开始写入。此外STM32 是基于Cortex-M3 内核的微控制器,其内部通过一张“中断向量表”来响应中断,程序启动后,将首先从“中断向量表”取出复位中断向量执行复位中断程序完成启动,而这张“中断向量表”的起始地址是0x,当中断来临,STM32 的内部硬件机制亦会自动将PC 指针定位到“中断向量表”处,并根据中断源取出对应的中断向量执行中断服务程序。环境配置:map文件中断向量表:SRAM堆栈分配:程序占用空间:FLASH所占用空间:Code +RO +RW = 1.41K;
Stm32f0系列MCU中断矢量表的定位跟STM32其它系列相比有点差异,即M0系列没有像其它M3/M4/M0+系列所具备的中断矢量表重定位寄存器,其中断矢量表不能借助矢量重定位寄存器简单修改实现。所以Stm32f0 IAP的过程会跟其它系列的STM32芯片的IAP动作有所不同。我们知道,做IAP往往需要两部分代码,一部分是用来升级的IAP程序,一部分用来运行用户实际应用功能的应用程序APP代码。IAP程序及自身的中断向量表放在内部FLASH的
最近使用了一款Cortex-M0内核的芯片STM32F030CC,发现它中断向量表的重映射方法与STM32F10x系列的有所区别,在这里记录与分享一下。由于需要通过IAP进行固件升级,所以芯片的FLASH里面要烧录两份代码:一个Boot loader,
网上买一个成品J-Link和ST-Link要好几十块,于是出了一批用stm32f103c8芯片制作的J-Link和ST-Link调试器,功能和成品模块几乎一样,同时外观也十分小巧,便于携带和使用。。。