登录
注册
一键加入QQ群
友善之臂官方网站
首 页
联系我们
淘宝店铺
维基教程
固件下载
资料汇总
搜索帖子!
NanoPC 系列:
NanoPC-T2
NanoPC-T3 Plus
NanoPC-T4
NanoPC-T6
NanoPC-T6 Plus
NanoPi 系列:
NanoPi-NEO
NEO Core
NEO Air
M1 Plus
Duo2
NEO3
NEO4
M4B
M5
M6
M6V2
核心板:
Smart4418
Core4418
Smart6818
Core6818
SOM-RK3399V2
CM3588
CM3588 Plus
迷你R系列:
NanoPi-R1
R1S
R2S
R2S Plus
Zero2
R3S
R76S
R4S
R5S
R5C
R6C
R6S
热门版块:
开发板销售中心
开发板硬件讨论区
硬软DIY及开发
嵌入式交流与讨论
友友粉丝快线
Ubuntu技术交流区
默认风格
用户中心首页
编辑个人资料
查看个人资料
好友列表
用户权限查看
积分管理
积分转换
特殊组购买
收藏夹
我的主题
基本统计信息
到访IP统计
管理团队
管理统计
在线统计
会员排行
版块排行
帖子排行
个人首页
我的收藏
好友近况
Linux技术交流区
关于系统上电后执行的第一条指令的位置
友友粉丝快线
开发板销售中心
嵌入式最新资讯
友善之臂最新动态
友善之臂官方客服中心
开发板实战手册及教程
应用方案和定制开发
NanoPi 交流与讨论
NanoPi 玩家交流区
ROM发布区
硬软DIY及开发
嵌入式交流与讨论
Android技术交流区
Linux技术交流区
U-boot技术交流区
WinCE技术交流区
Ubuntu技术交流区
裸机程序和微型OS
OpenWRT讨论区
开发板硬件讨论区
相关资料下载及使用技巧
站点服务
二手交易区
我的论坛我的贴
站务管理与公告
上一主题
下一主题
新 帖
主题 : 关于系统上电后执行的第一条指令的位置
复制链接
|
浏览器收藏
|
打印
sunnydream
级别: 新手上路
作者资料
发送短消息
加为好友
UID:
1491
精华:
0
发帖:
16
金钱:
160 两
威望:
16 点
综合积分:
32 分
注册时间:
2008-09-03
最后登录:
2009-07-29
楼主
发表于: 2008-09-22 00:47
只看楼主
|
小
中
大
关于系统上电后执行的第一条指令的位置
板子上电后,是从0x0地址开始执行吗
如果是从0x0处开始执行,我有下面的疑惑
当启动模式设为从nand flash启动,按照手册上的存储器分配图,0x0开始的4kB空间是系统的sram,板子上电后执行的第一条指令怎么可能是
在sram中呢?毕竟sram中的内容断电后就没有了啊
我看过一些资料,说sram中0x0开始的4k里的内容是从nand flash里复制过来的,这么说,系统上电后最起码先执行了一段代码复制的命令,显
然这些命令不会在0x0处,那系统岂不是不从0x0处开始执行了吗
顶端
回复
引用
分享
kasim
*無鈳取玳
级别: 论坛版主
作者资料
发送短消息
加为好友
QQ联系
UID:
27
精华:
12
发帖:
5398
金钱:
40120 两
威望:
17929 点
综合积分:
11036 分
注册时间:
2008-01-16
最后登录:
2014-11-22
1楼
发表于: 2008-09-22 07:24
只看该作者
|
小
中
大
NAND Flash启动的模式下,复制数据的过程是在CPU跳转到0x0之前执行的,你可以理解为这是CPU内部固化的逻辑,但这仅限于S3C2440这种具体的实现。从这个角度上来说,可以认为CPU不是从0x0地址开始执行的。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
顶端
回复
引用
分享
sunnydream
级别: 新手上路
作者资料
发送短消息
加为好友
UID:
1491
精华:
0
发帖:
16
金钱:
160 两
威望:
16 点
综合积分:
32 分
注册时间:
2008-09-03
最后登录:
2009-07-29
2楼
发表于: 2008-09-22 09:31
只看该作者
|
小
中
大
thank you
那sram里面4kB的代码是从nand flash 里复制过来的吗,如果是,这4kB代码是存储在nand flash具体哪个位置的呢
这4kB的代码是不变的吗,还是说可以通过JTAG重新烧写呢
[ 此贴被sunnydream在2008-09-22 09:38重新编辑 ]
顶端
回复
引用
分享
kasim
*無鈳取玳
级别: 论坛版主
作者资料
发送短消息
加为好友
QQ联系
UID:
27
精华:
12
发帖:
5398
金钱:
40120 两
威望:
17929 点
综合积分:
11036 分
注册时间:
2008-01-16
最后登录:
2014-11-22
3楼
发表于: 2008-09-22 09:56
只看该作者
|
小
中
大
NAND Flash的block 0的page 0的前4K, 这4K的数据你可以通过烧写NAND Flash改变,不需要通过Jtag
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
顶端
回复
引用
分享
laolang
级别: 新手上路
作者资料
发送短消息
加为好友
UID:
64
精华:
0
发帖:
41
金钱:
395 两
威望:
143 点
综合积分:
82 分
注册时间:
2008-02-02
最后登录:
2015-12-31
4楼
发表于: 2008-09-22 10:02
只看该作者
|
小
中
大
nand flash焊接到板子上去以后,如果要更改引导程序,可以通过软件在线更改;也应该可以通过cpu的jtag口进去更改.
引用第3楼kasim于2008-09-22 09:56发表的 :
NAND Flash的block 0的page 0的前4K, 这4K的数据你可以通过烧写NAND Flash改变,不需要通过Jtag
顶端
回复
引用
分享
sunnydream
级别: 新手上路
作者资料
发送短消息
加为好友
UID:
1491
精华:
0
发帖:
16
金钱:
160 两
威望:
16 点
综合积分:
32 分
注册时间:
2008-09-03
最后登录:
2009-07-29
5楼
发表于: 2008-09-22 11:31
只看该作者
|
小
中
大
引用第3楼kasim于2008-09-22 09:56发表的 :
NAND Flash的block 0的page 0的前4K, 这4K的数据你可以通过烧写NAND Flash改变,不需要通过Jtag
你说可以不用通过jtag烧写,那应该如何烧写呢
是从norflash启动,进入supervivi后,选择其中某个命令执行吗,那是哪个命令呢
如我想写一段代码,从nand flash启动,加电后让4个led全部熄灭
编译链接该如何设置参数,最后生成的文件又该如何在线烧写到nand flash 的block 0 的page0 里面去呢(我不想通过jtag烧写,因为板子用外壳封装起来了,jtag口没有引出来,烧写很 不方便)
顶端
回复
引用
分享
kasim
*無鈳取玳
级别: 论坛版主
作者资料
发送短消息
加为好友
QQ联系
UID:
27
精华:
12
发帖:
5398
金钱:
40120 两
威望:
17929 点
综合积分:
11036 分
注册时间:
2008-01-16
最后登录:
2014-11-22
6楼
发表于: 2008-09-22 12:10
只看该作者
|
小
中
大
我只能告诉你最简单的方法是修改光盘里给出的viv的源代码,加入你要的东西。因为它本身已经被配置成NAND Flash启动了。你也不用担心编译链接的问题。按照原来build vivi的方法做就行了。
剩下的事情就是查手册,如何通过NOR Flash里的supervivi用你自己生成的vivi替换掉NAND Flash里的vivi镜像。但要注意这个修改了的vivi只是用作功能验证用,不要指望它可以和supervivi一样。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
顶端
回复
引用
分享
上一主题
下一主题
Linux技术交流区
http://121.40.142.80
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问