从单片机步入Linux之uboot编译、烧录与启动

2023-07-28

linux怎么进入uboot菜单

linux下的dnw配置步骤以下:1
下载源码
源码:dnw_linux
这个是在1个论坛上搜到的,这个不需要注册,者枣就能够免费下载奥,感谢作者的辛苦劳动和忘我的奉献精神,呵呵...2
解压这个下载完以后是rar格式的,还槐伏得到windows下解压。解压后copy到linux下便可。其中secbulk.c是pc端usb驱动,
dnw.c是写入工具。3
编译并加载secbulk模块$cd
secbulk$make
-c
/lib/modules/`uname
-r`/build
m=`pwd`
modules编译成功后在当前目录下可以看到secbulk.ko
用insmod命令加载模块,这需要root权限$sudo
insmod
./secbulk.ko4
编译dnw写入工具$gcc
-o
dnw
dnw.c编译成功后生成可履行dnw5
使用dnw下载使用方式和windows下基本1致。在终端下输入相应的uboot命令,当出现“usb
host
is
connected.
waiting
a
download.”时,在pc端linux上用dnw工具写入要下载的文件便可。切换到root权限,履行dnw下载.$./dnw
/path注:这个/path就是所要下载的文件的路径及名称,例:/home/linux⑵.6.30.4/arch/arm/boot/首明拆zimage写入完成后提示成功100%
xxxxxxx
bytes
ok可以把编译好的dnw拷贝到/usr/sbin下或是usr/bin下,以后使用就直接使用dnw
/path
便可。至此,完成内核的下载,下载文件系统一样的方法便可。注意:注意:有时候由于内核的升级,运行时会提示can
not
open
/dev/secbulk0的毛病,此时需要重新到secbulk目录履行$make
-c
/lib/modules/`uname
-r`/build
m=`pwd`
modules,然后加载模块$sudo
insmod
./secbulk.ko便可!

51单片机可以有几个程序?

可以是:“一个单片机刻意来自烧一个程序,”,这种是最典型的应用,比如51单片机,一般就是开发完程序生成一个HEX,一个HEX对应烧写入一个MCU单片机。

也可以是“一个单片机刻意烧写任意多个程序,直到你的FLAS矿五帮尼顶件H/ROM被你写满”,一个典型的例子是一个IAP程序+一个APP程序的应用场景,当然根据此可以改编成一个IA360问答P+N个app的场景。另一个典型的例子是高端单片机移植类似uboot+linux的额济两酸离伯用班哥载操作使用,linux内可以开发很多APP程序。

uboot 引导程序的运行

(NOR地址空间可以直接运行程序,限于速度假设不这样做)
看一下uboot的源码就一目了然了:
加电初始化,而后代码重定位。
将剩余代码从norflash读取到ram,而后跳转到ram中运行。
在nor中它就做了这点事情。
之后在ram中后期初始化(一些设备等玩意),最后运行到 宏BOOTCMD,才加载内核。

文章推荐

相关推荐