微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32--简单的IAP操作

STM32--简单的IAP操作

时间:11-17 来源:互联网 点击:

能与使用了预分频器的AHB一起使用,时钟系统应该等于HCLK时钟。该特性只能用在时钟频率为8MHz或低于8MHz时,可以直接使用的内部RC振荡器(HSI),或者是主振荡器(HSE),但不能用PLL。

3.当AHB预分频系数不为1时,必须置预取缓冲区处于开启状态。

4.只有在系统时钟(SYSCLK)小于24MHz并且没有打开AHB的预分频器(即HCLK必须等于SYSHCLK)时,才能执行预取缓冲器的打开和关闭操作。一般而言,在初始化过程中执行预取缓冲器的打开和关闭操作,这时微控制器的时钟由8MHz的内部RC振荡器(HSI)提供。

5.使用DMA:DMA在DCode总线上访问闪存存储器,它的优先级比ICode上的取指高。DMA在每次传送完成后具有一个空余的周期。有些指令可以和DMA传输一起执行。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


在ST官网下载IAP历程,链接http://www.st.com/stonline/products/support/micro/files/an2557.zip

移植历程到自己的开发板上

主要修改main.c中的串口初始化函数IAP_Init(),根据需要再添加一个开发板端口初始化的函数,修改int main()函数里进入IAP的条件

应用程序的修改主要是四点

1、 options for target-->将ROM1修改成0x8002000

2、 option for target-->linker-->勾选use memory layout from target dialog

3、 options for target -->user 在run user programs after build/rebuild下给run#1和run#2打勾,并分别填上I:\embedded\Keil Mdk\ARM\BIN40\fromelf.exe --bin -o my.bin output\release.axf和I:\embedded\Keil Mdk\ARM\BIN40\fromelf.exe -z output\release.axf,注意地址要正确,主要目的是调用keil自带的hex转工具将keil编译程序后生成的release.axf转成bin文件

4、 在程序中重定向向量表NVIC_SetVectorTable(NVIC_VectTab_FLASH+0x2000, 0x2000);

下载程序方法:

1、 现在IAP的引导程序,也就是移植官网的那个程序。

2、 使用开始—所有程序--附件—通信—超级终端进行下载,超级终端配置为无数据流控制,另外波特率、数据位等要与例程的串口配置要对应,输入1使开发板进入等待下载的模式,点击超级终端的传送à传送文件,选择文件,协议使用例程的Ymodern,下载完后输入2即可运行应用程序


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top