驱动开发-Linux启动
一、ARM(Linux)下应用程序开发
ARM交叉开发:在一个平台上开发另一个平台运行的程序。
交叉编译:需要通过交叉编译工具沟通。eg:arm-linux-gnueabihf-gcc
nfs:网络文件系统。nfs的server端的/home/llinux/nfs的文件挂载到client端的/mnt下。
通过串口控制
二、启动运行步骤
1.系统上电后。根据启动模式,将bootloader的前半部分程序拷贝到内存中,并运行内存中的bootloader前半部分,bootloader必须在自己前半部分初始化好内存,将自己的后半部分拷贝到内存,运行后半部分。
2.bootloader启动到最后阶段会将内核拷贝至内存的0x80800000地址,将dtb拷贝至0x83000000地址处,引导内核启动,就PC设置为0x80800000。
3.内核启动到最后阶段,挂载根文件系统,加载各种配置,执行各种启动脚本,启动shell,执行用户APP。
三、uboot
1.系统上电后,倒计时结束前摁回车进入uboot命令行。
2.uboot命令
printenv 查看环境变量;
setenv 环境变量名 数据 修改环境变量名
saveenv 保存修改
setenv 环境变量名 删除环境变量
tftp 0x80800000 zImage 把zImage下载到0x80800000位置
bootz 0x80800000 - 0x83000000 启动内核