- arm开发平台:fs4412开发板(cortex-A9 samsung exynos4412)
- pc开发平台:ubuntu 12.04虚拟机
pc机(x86)操作系统启动流程介绍
- BIOS:硬件初始化(系统时钟,内存(sdram/ddr2/ddr3/ddr4),启动方式:usb,硬盘,光驱…)
- 引导程序(grup,lino,…)=>加载操作系统
- OS (windows,linux,mac os)
- 挂载文件系统(ntfs,fat(16/32),ext(2,3,4))
- 应用程序
嵌入式设备(exynos4412)启动流程介绍
- iROM 固化代码(基本硬件初始化(三星内部内存iSRAM)判断启动方式(sd/usb/emmc),读取存储介质一部分数据到iRAM)
- iRAM代码运行bootloader第一阶段(初始化系统时钟,内存,搬移bootloader到内存)
- 内存中运行bootloader第二阶段(初始化基本的硬件设备(串口,EMMC,SD),加载OS到内存)
- 内存中运行操作系统(Linux,windows CE,Mac OS)
- 挂载文件系统
- 运行应用程序
交叉编译器工具安装
- 交叉编译器下载地址(提取码:yl7u)
- 拷贝工具包到linux工作目录,并解压安装包
解压命令介绍:
tar -xvf xxx.tar.* (通用解压命令)
tar -zxvf xxx.tar.gz (gz格式解压命令)
tar -jxvf xxx.tar.bz2 (bz2格式解压命令)
tar -Jxvf xxx.tar.xz (xz格式解压命令)
添加环境变量: - 终端输入:export PATH=$PATH:/home/linux/fs4412/toolchain/bin [只是临时有效]
- vim ~/.bashrc.文件底部添加PATH=$PATH:/home/linux/fs4412/toolchain/bin [当前用户有效]
- sudo vim /etc/bash.bashrc 文件底部添加PATH=$PATH:/home/linux/fs4412/toolchain/bin [所有用户有效]
tftp服务搭建
- tftp工具包下载地址(提取码:mrpj)
- 拷贝工具包到linux工作目录
- 进入到安装包目录
- 执行sudo dpkg -i *.deb
- 修改配置文件 sudo vim /etc/default/tftpd-hpa.
- 修改tftp下载目录 TFTP_DIRECTORY=”/home/linux/fs4412/tftpboot”
- 重启服务 sudo /etc/init.d/tftpd-hpa reastart
- 客户端测试:
$:tftp 127.0.0.1
tftp>get hello.txt
tftp>quit
nfs服务搭建
- nfs工具包下载地址(提取码:ampv)
- 拷贝工具包到Linux工作目录
- 进入到安装包目录
- 执行sudo dpkg -i *.deb
- 修改配置文件 sudo vim /etc/exports
- 文件底部添加nfs共享工作目录命令:/home/linux/fs4412/fs/rootfs *(rw,sync,no_root_squash)
- 重启服务
:sud