初学STM32(2013笔记)

来源:互联网 发布:warframe端口路由器 编辑:程序博客网 时间:2024/06/04 18:51

使用J_Link V8和神州I号开发板STM32F103RBT,开发IDE是keil 4。

开始的时候遇到的第一个问题是:使用Debug时,出现No Cortex-M Device found in JTAG chain。

原因是开发板启动方式是:boot from flash。使用J-link arm commander,输入“power on”,采用J-Link的方式供电。J-Flash-Arm进行Flash的erase操作,同时设置为启动方式sram。这样便可以进行Debug。

开发板共有三种启动方式,设置boot0,boot1,对应1、从flash启动;2、sram;3、使用串口方式下载。

在优酷视频网站上有stm32_Nano的开发板设计者的视频讲解,内容有环境的搭建、GPIO口使用等内容,便于初学者学习使用。同时神州开发提供的资料比较详细,讲得容易懂,而且内容全面。

 “烧录的程序关闭了JTAg功能,复用了JTAG的接口,导致JTAG不能正常使用。这事,就需要使用串口下载一个程序,此程序没有关闭JTAG即可,然后就可以正常重新使用JTAG。 办法2:擦除芯片代码也能恢复JTANG口功能即,从开始--SEGGER--JLink--打开J-link ARm(找到安装的J-Link驱动程序,本人用的是SEGGER公司的Jlink连接器,安装的是V4.12驱动程序)--菜单Target--选Eraser chip即可”

assert_param()的调用,目的是在调试、运行的过程中,当监测的变量超出范围后给出警报信息,方便调试使用。
#if 1或者是#if 0则是在编译的过程中 ,对其后的code进行选择行编译处理,若是使用
#if 1 
code
 #endif
则code将被执行,如果是#if 0,则code将不会被执行
0 0
原创粉丝点击