IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 全志F1C100S的BROM研究 -> 正文阅读

[嵌入式]全志F1C100S的BROM研究

全志f1c100s是个性价比很高的芯片,但是对一般人不太友好的是它的资料开放的太少了。
网上找不到完整版的用户手册,只能从有限的手册文档和参考代码旁敲侧击,反向猜测。
关于它的BROM网上的手册内容很少。


手册上只有短短3句话:

具体怎么个启动流程,完全没有描述。

但是从网上的代码和开发板资料来看,它启动是按照顺序自动选择。

我用的开发板只有SPI FLASH,它是先从SPI NOR FLASH启动,无法读到有效的SPL,则进入USB下载模式。

而进入USB模式的按键,其实就是把SPI的片选拉低,让它无法读FLASH内的数据,从而进入USB模式。

USB下载模式官方提供一个sunxi-fel.exe的工具,很方便,它支持下载image到RAM,同时也支持直接下载到SPI-FLASH,还能读回数据。


如何判断SPL的有效性?

文档没有描述,也是通过参考代码,代到线索。

启动文件是这样写的,生成的BIN头部必须包含下面的内容。

;/* Boot head information for BROM booting */
BROM_BHI        B       Reset_Handler
				DCB     "eGON.BT0"
				DCD     0, 0x4000
				DCB     'S', 'P', 'L', 2
				DCD     0, 0
				DCD     0, 0, 0, 0, 0, 0, 0, 0
				DCD     0, 0, 0, 0, 0, 0, 0, 0

编译生成的SPL.bin内容如下格式:

?除了编译生成的文件头信息外,还需要后期修改如下内容:

偏移000C:此SPL.bin的校验,用mksunxi.exe生成。
偏移0010:此SPL.bin的长度,必须256字节对齐。


SPL是在哪里运行的?

我们怎么确定SPL的运行环境?
文档也是没有任何描述。

下面文档的内存映射表:

BROM在0地址有32KB,内部SRAM在0x10000有40KB。
那事实真的如此吗?

只能通过写代码进行验证,我们的SPL是被加载到了0地址,在0地址运行。

而我们能使用的SRAM空间,也不在0x10000这个地址。

实际上芯片内部的SRAM空间是在0x0000 - 0x9000,一共有36KB。

后来还发现0xB000 - 0xB600还有一小段可以使用的SRAM。

在启动时,我们的SPL程序运行地0地址,可以使用内部SRAM用做栈空间,它负责初始化CPU时钟和SDRAM,并负责加载uboot或者其它程序。

另外此时,IRQ,FIQ,MMU都是关闭状态。
?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:17:11  更:2022-03-06 13:18:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:25:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码