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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 uperrua 于 2019-9-2 14:34 编辑
% `( D8 r$ W  q6 i$ f9 K& T
" `+ C* m( U2 K学习ARM时,看到三星ARM11 的官方手册上写道:S3C6410具备一个内部SRAM的缓冲器,叫做“STEPPINGSTONE”,支持NAND FLASH的系统引导。当系统启动时,NAND FLASH存储器的前4KB将自动被载入到“SETPPINGSTONE”中,然后系统自动执行这些载入的引导代码。(默认的话该存储区应该被映射到地址空间0处)。3 S4 n" R+ Y+ i, H

+ k2 F- y5 w) v  r& n于是一直就想写个裸机程序,长度不超过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。
$ X, I& ^9 E% o. i
! W0 E/ F. L; g9 a! s& n. U' n/ P想法有了,就去实现下:为此写了个小程序,来验证下。改程序的思路是:四个按键对应四个LED,按键按下,LED亮;松开LED灭。: C9 I: r3 ^9 ~

, U, c2 {8 a: s. c/ M三个程序如下:% |8 G; q$ }( N4 _  e
, g: }! {- E$ J! I( {
游客,如果您要查看本帖隐藏内容请回复
$ c! I; j1 F: F0 ^( Z
. F8 d4 c# k1 T" }$ }) T

  Q2 ]; U/ F/ J; i) ^& [+ T& @  y( d, A

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-9-24 02:48 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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