找回密码
 注册
关于网站域名变更的通知
查看: 315|回复: 1
打印 上一主题 下一主题

怎样实现对S3C6410 进行裸机程序烧写

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-2 14:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 uperrua 于 2019-9-2 14:34 编辑 + N) o1 P5 o* u0 j6 p; D+ E- }
8 F/ }, |' T3 u, o& h' K, f% z- s
学习ARM时,看到三星ARM11 的官方手册上写道:S3C6410具备一个内部SRAM的缓冲器,叫做“STEPPINGSTONE”,支持NAND FLASH的系统引导。当系统启动时,NAND FLASH存储器的前4KB将自动被载入到“SETPPINGSTONE”中,然后系统自动执行这些载入的引导代码。(默认的话该存储区应该被映射到地址空间0处)。. e0 @2 P4 G/ Z6 b+ y8 O+ a: U

  }, M" I6 A% i2 ~' m于是一直就想写个裸机程序,长度不超过4KB,存放在NAND FLASH的最开始,这样每次系统上电从NAND FLASH启动时,都会把这段代码拷贝到被映射到地址0x0 处的“STEPPINGSTONE”处。这个应该是bootloader 的雏形吧,一上电就执行的程序。可是在裸机环境下一直找不到烧写NAND FLASH的方法。买了个JLink,貌似在Windows 下据说不能烧写NAND FLASH,尚未验证。网上大部分方法都是针对Uboot 烧写内存,通过USB或者串口,网络。没有看到写道NAND FLASH的方法。没办法,只能凑活着写道内存中,先看看自己的程序是不是写对了。突然有一天,翻翻韦东山老师的书:《嵌入式Linux应用开发完全手册》上一张,降到Uboot中怎么从内存烧写东西到NAND FLASH中去。突然灵机一动,可以将程序先烧到内存中,在从内存中烧到NAND FLASH中去。最后,NAND FLASH中的Bootloader (Uboot)会被覆盖掉,上电就会自动运行自己的裸机程序,而非Bootloader。1 F8 ]& k8 k/ s

( p4 F  T9 F4 }. X2 ^' T, |想法有了,就去实现下:为此写了个小程序,来验证下。改程序的思路是:四个按键对应四个LED,按键按下,LED亮;松开LED灭。
! Y- ~0 M7 E* }0 ^8 i& G8 ?
; j! [7 N7 X4 M, L& K. L$ n三个程序如下:
0 f% Y  v( [5 i* w: K9 g
' y2 W6 m4 [% g2 Y
游客,如果您要查看本帖隐藏内容请回复

5 u" y6 J/ f' I  q0 h0 A: A( A& V* q3 L; \$ ?6 l" @
) ~. d- h1 i% v1 U9 E" T

( @9 I1 l! a8 N% o8 ~

该用户从未签到

2#
发表于 2019-9-2 22:02 | 只看该作者
试着操作一下,不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:43 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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