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

相关推荐
mm-q29152227291 小时前
高并发-负载均衡
运维·负载均衡
就叫飞六吧1 小时前
Nginx 主要的几种负载均衡模式
运维·nginx·负载均衡
峰顶听歌的鲸鱼2 小时前
9.OpenStack管理(三)
运维·笔记·分布式·openstack·学习方法
ZHANG13HAO3 小时前
OK3568 Android11 实现 App 独占隔离 CPU 核心完整指
linux·运维·服务器
梁正雄3 小时前
16、Docker swarm-3
运维·docker·容器
quan_泉3 小时前
2025信阳市中等职业教育竞赛_网络安全赛项部分题解
linux·服务器·php
null or notnull4 小时前
java服务器空间不够时:将多个服务器的文件存放至同一个服务器上(使用映射器的办法)
java·运维·服务器·java-ee
傲世(C/C++,Linux)4 小时前
Linux系统编程——exec函数族
linux·服务器
盈创力和20074 小时前
物联网 “神经” 之以太网:温湿度传感器的工业级 “高速干道”
运维·服务器·网络·嵌入式硬件·以太网温湿度传感器
eddy-原4 小时前
阿里云核心服务解析与应用实践
linux·运维·阿里云·云计算