OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2698|回复: 4

SD卡升级程序,基于原子哥STm32F429阿波罗板

[复制链接]

7

主题

19

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2019-2-23
在线时间
17 小时
发表于 2019-12-7 11:29:25 | 显示全部楼层 |阅读模式
SD卡升级程序,基于原子哥STm32F429阿波罗板。

     本程序运行后,先查找SD卡根目录中APP1. bin 文件(注意识别大小写),找到APP1. bin后,将APP1. bin下载到0x08010000开始的Flash开始的地址空间里。

下载完成后,自动转到运行应用程序APP1。如没找到APP1. bin 文件,也自动自动转到运行应用程序,如x08010000开始的Flash没有应用程序,将会提示。若忘
记插SD卡也会有提示。
     为了使Bootload程序瘦身,控制在64K以内,去掉了对中文显示支持,去掉了FatFs对中文文件名的支持(去掉CC936.C).去掉了32*32 ASCII字库。本程序大小52K。
       附件:Apollo_STM32F429_Bootload.zip为Bootload升级程序。附件APP1_RTC_FLASH.zip为应用程序,RTC程序。 Apollo_STM32F429_Bootload.zip (3.21 MB, 下载次数: 285)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

1127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1656
金钱
1656
注册时间
2019-8-15
在线时间
102 小时
发表于 2019-12-7 13:15:37 | 显示全部楼层
帮顶                       
成功没有捷径
回复 支持 反对

使用道具 举报

6

主题

1127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1656
金钱
1656
注册时间
2019-8-15
在线时间
102 小时
发表于 2019-12-7 13:16:02 | 显示全部楼层
感谢楼主分享!!!!!!!
成功没有捷径
回复 支持 反对

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10569
金钱
10569
注册时间
2017-2-18
在线时间
1913 小时
发表于 2019-12-7 14:58:18 | 显示全部楼层
多谢楼主分享
回复 支持 反对

使用道具 举报

7

主题

19

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2019-2-23
在线时间
17 小时
 楼主| 发表于 2019-12-7 17:08:39 | 显示全部楼层
修改应用程序中断向量,原子哥的Hal库版,和寄存器版是不同的。
Hal库版,在主程序前加一条, SCB->VTOR = FLASH_BASE | 0x10000;//设置偏移量。
寄存器版,是在Stm32_Clock_Init函数中修改,如下
void Stm32_Clock_Init(u32 plln,u32 pllm,u32 pllp,u32 pllq)
{  
        RCC->CR|=0x00000001;                //设置HISON,开启内部高速RC振荡
        RCC->CFGR=0x00000000;                //CFGR清零
        RCC->CR&=0xFEF6FFFF;                //HSEON,CSSON,PLLON清零
        RCC->PLLCFGR=0x24003010;        //PLLCFGR恢复复位值
        RCC->CR&=~(1<<18);                        //HSEBYP清零,外部晶振不旁路
        RCC->CIR=0x00000000;                //禁止RCC时钟中断
        Sys_Clock_Set(plln,pllm,pllp,pllq);//设置时钟
        //配置向量表                                  
#ifdef  VECT_TAB_RAM
        MY_NVIC_SetVectorTable(1<<29,0x0);
#else   
        MY_NVIC_SetVectorTable(0,0x10000);//0x0
#endif
}                    
请注意,本人也走了弯路。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-23 12:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表