驱动开发-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 启动内核

相关推荐
只说证事17 分钟前
2026 国家认可的计算机专业证书
服务器
月巴月巴白勺合鸟月半20 分钟前
在Linux下开发桌面程序
linux·运维·服务器
zh路西法20 分钟前
【tmux入门】终端分屏、SSH远程守护与一键启动脚本
linux·运维·ssh·bash
c2385628 分钟前
GDB 进程概念详解(下篇)—— 多进程与进阶调试能力
linux·服务器·数据库
A_humble_scholar31 分钟前
Linux(八) 进程内存全景:环境变量、main 函数参数与虚拟地址空间全链路深度解析
linux·运维·服务器
遇见小修修34 分钟前
如何找到专业的电脑上门维修供应商?
运维·电脑·负载均衡
火山上的企鹅1 小时前
Codex实战:APP远程升级服务搭建(五)App端远程升级接入
android·服务器·远程升级·qgc
Web极客码1 小时前
使用FeedBurner优化WordPress订阅体验
服务器·wordpress·feedburner
Lang-12101 小时前
CentOS Linux服务器完整迁移方案
linux·服务器·centos
TCW11211 小时前
Linux操作系统系列.动态加载
linux·服务器