首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» AT91SAM9G20---bootstrap移植(nandflash启动)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
AT91SAM9G20---bootstrap移植(nandflash启动)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-2-27 12:40
|
只看该作者
AT91SAM9G20---bootstrap移植(nandflash启动)
官方网站
,
程序
,
检测
,
外设
,
硬件
一,硬件平台简述 9G20是ATMEL公司生产的一款基于ARM926EJ-S工业级ARM9芯片,片内32K数据缓存,32K指令缓存,工作频率400MHz。9G20支持多种外设启动方式,其启动由片内ROM内引导程序检测外设是否可以启动,如果可以启动即进入载入相关外设进行启动。片内ROM阶段称为SAM-BA模式。
板上搭载nandflash为:K9F1G08 128M大页nandflash.
SDRAM:64M
二.修改bootstrap源码
从ATMEL官方网站上下载bootstrap源码,本次使用V1.15版本。解压后为目录为:
(1)添加nandflash支持:
原bootstrap中并未包含对K9F1G08的支持,有2G08的支持,添加对板上nandflash的支持。
在include/Nand_ids.h中添加如下代码:
此结构为nandflash数据信息描述结构。
(2)增加nandrecovery功能
所谓nandrecovery功能是指通过按键实现擦出nandflash中第一块的功能。
9G20只有在没有可以启动的设备时,才会进入SAM-BA模式,而只有此模式下,才可以通过官方SAM-BA软件进行软件的烧写。而SAM-BA检测外设是否可以启动只是检测外设的最前面的地址中是否有异常向量,而一旦认定可以启动,便不再进入SAM-BA模式,此时要想烧写代码,需要断开nandflash连接上电后再连接nandflash或者使用SAM-BA软件加上J-link的方式来擦除nandflash后再烧写。
由于硬件限制,nandflash芯片和处理器芯片没有断路脚,本人也懒于使用J-link(笔记本上USB口实在紧张),而nandrecovery通过检测按键是否按下来擦除nandflash中的第一块,这样,当按键按下后,通电,然后断电,再上电时,由于nandflash的前部分已经被擦除,SAM-BA模式将判定为nandflash不可启动,由此停留在SAM-BA模式下。当程序死掉,或者有需要时,可以简单的恢复nand。而使用SAM-BA软件烧写。
在boad/at91sam9g20ek下的at91sam9g20ek.c中voidnandflash_hw_init(void)函数体末尾添加
nand_recovery();
在改函数上方添加如下代码:
保存即可。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议