一、 回忆昨天的内容
TCP/IP网络 通信, 服务器 编程模型, 客户机 编程模型
服务端 : socket 端点, bind, listen,
while(1){
accept, read, write, close();
}
客户端 : socket, connect,
while(1){
write, read, close;
}
注意 : IPV4的 地址家族, inet_pton(), htonl htons;
sizeof() 计算 类型的大小
strlen() 有效字符 的个数
二、 开发板介绍
S5P6818开发板 .. 4412 4418 6818
Cortex A53 做系统软件开发
A3 A5 A7 A9 A11 ...
BIOS Linux内核
ARM --> 三星公司
DDR3 : DRAM 动态内存 1G SRAM : Cache
EMMC : 相当于 硬盘 8G
底板 :
DC 5V : 电源工程师用. 给其他外设提供电压
USB HOST : USB 2.0
USB OTG : 烧录程序
ETHERNET : 网口
GPIO :
DVP CAMERA : 高清摄像头接口
MIPI CSI :
HEADPHONE : 耳机
SPEAKER : 扬声器
UART0/1/2/3/4: use UART0
LVDS : 插入显示类设备
SIM : 手机卡
SD0/1 : 扩展硬盘(闪存)
RETURN : 菜单
VOL / VOL+ : 声音
BATTERY : 电池
PCIE :
RTC : 实时时钟
soc : system on chip
cpu(cotex-a53) + 内置内存(DRAM) + 内置flash(emmc) + pmu(电源管理芯片) + mmc(内存管理控制器) + 底板 + 网卡控制器 + Rtl8211 PHY + 内部总线 + ...;
三、 Liunx 系统移植
Liunx 系统移植到 开发板
3.1 什么是移植
根据 实际需求 将 uboot or Linux 移植剪裁, 并完成实际的 业务处理, 放在 开发板 上运行.
剪裁: 对代码做少量修改.
3.2 检查上位机环境
检查配制: CPU 4核, 内存 4G, 硬盘 100G, 虚拟机环境 WMware workstation + Ubuntu18.04 虚拟机.
安装必要软件包: 使用 liuyang, 不需要下载
安装 软件包 指令: sudo apt update sudo apt install xxx
sudo /etc/init.d/networking restart
sudo apt install vim
sudo apt install nfs-kernel-server
sudo apt install tftpd-hpa
sudo apt install fbset
3.3 操作 Liunx 分辨率
3.3.1 安装fbset
Frame Buufer set
3.3.2 如何查看Liunx 当前 分辨率
sudo fbset
3.3.3 修改配制文件
vi /etc/default/grub
3.3.4 更新服务
sudo update-grub : grub 算 系统软件
3.3.5 重启系统
reboot
3.3.6 查看分辨率
sudo fbset
3.4 S5P6818 开发结构
APP weixin QQ … 依赖 GUI QT(C++) Android(Java) GTK© …
以下都归编程人员解决
本地库 libc.so.6 libstdc++
文件系统 : 将 硬盘 中的 数据 识别成 各种各样 的文件 ----> Liunx 内核 运行
fat16 fat32 NTFS…
Liunx 内核 : (系统软件) Android Windows
grub 负责初始化 console 将所有修改保存到 flash 中
bootloader (启动加载器): 相当于一个非常大的裸板程序
3.5 系统软件 的 启动流程
bootloader(uboot) —> 加载Liunx内核(uImage) ----> 挂载根文件系统 rootfs
3.6 系统软件的启动流程
对于Liunx来说, 硬盘的分区问题
TF的存储空间[ubootpak.bin ulmage | 文件系统]
3.6.1 获取ubootpak.bin
- makdir porting
- cd porting
- cd esathome_porting/fastboot/uboorpak.bin ./
作业: 查找各种 flash , eprom eeprom nand-flash nor-flash 特点:
flash 名称 | 特点 |
---|---|
EPROM | 1. 强紫外线擦除 2. 顶部有透明硅片 3.需要使用编程器 |
E2PROM | 1.一般用于即插即用(Plug & Play)2.存放硬件设置数据 3.用在 防止软件 非法拷贝的"硬件锁"上面 |
nand-flash | 1. 单元尺寸几乎是NOR器件的一半 2. 适合于数据存储 3.以页为单位读写数据,而以块为单位擦除数据 4. 比nor更耐用 |
nor-flash | 1. 读取速度较nand稍快 2.写入速度比nand慢很多 3.擦除速度比nand慢 4.一般先擦除后编程 5.NAND的擦除单元更小,相应的擦除电路更少 |