野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8066|回复: 7

谁能给个bootloader的例子?

[复制链接]
发表于 2017-11-16 17:09:42 | 显示全部楼层 |阅读模式
读取sd升级的bootloader的例子
回复

使用道具 举报

发表于 2017-11-16 17:38:08 | 显示全部楼层
没有这个,帮顶
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-25 16:41:26 | 显示全部楼层
自己顶一下
回复 支持 反对

使用道具 举报

发表于 2017-11-26 02:10:44 | 显示全部楼层
这需要什么例子吗 先把你程序转换成bin文件
你自己写个程序吗 把sd卡驱动起来 加上文件系统
把bin文件读出来 直接写到flash里面就是0x8000000地址的地方 就是这么简单
bin文件就是二进制文件 flash里面什么样 bin文件就是什么样
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-26 23:31:37 | 显示全部楼层
smallcsduck 发表于 2017-11-26 02:10
这需要什么例子吗 先把你程序转换成bin文件
你自己写个程序吗 把sd卡驱动起来 加上文件系统
把bin文件读 ...

需要例子啊,都不太明白,如何自动更新
回复 支持 反对

使用道具 举报

发表于 2017-11-28 18:22:44 | 显示全部楼层
本帖最后由 smallcsduck 于 2017-11-28 18:27 编辑
jackshi619 发表于 2017-11-26 23:31
需要例子啊,都不太明白,如何自动更新

bootloader的核心语句就三句
改pc的地址 改sp的地址 改向量表地址
你程序在编译的时候把执行域设置好
然后把那三个寄存器改成你程序里的地址 理论上程序就可以在执行域上跑了
什么初始化sdram啊 初始化nandflash 然后把程序从nandfalsh复制到sdram里啊 不都是很普通的程序么?
回复 支持 反对

使用道具 举报

发表于 2017-11-28 18:34:53 | 显示全部楼层
本帖最后由 smallcsduck 于 2017-11-28 18:37 编辑
jackshi619 发表于 2017-11-26 23:31
需要例子啊,都不太明白,如何自动更新

你想更新片内flash是吧  刚才我没看明白
那你的bootloader首先不可能运行在片内flash里面把
不可能在flash里程序运行的同时改写flash吧(f7是双bank的flash,可以程序运行在bank0,同时读写bank1的内容)
那你首先bootloader应该运行在ram里 或者你可以只把改写片内flash的核心部分放在ram里
然后在把bin文件写入flash里面
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-29 12:34:06 | 显示全部楼层
smallcsduck 发表于 2017-11-28 18:34
你想更新片内flash是吧  刚才我没看明白
那你的bootloader首先不可能运行在片内flash里面把
不可能在fl ...

片内更新是允许的
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-17 16:14 , Processed in 0.032160 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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