一 回忆昨天的内容
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 计算的有效字符的个数
char *buf = "hello world!\n";
二 开发板介绍
链接:https://pan.baidu.com/s/
1ogkEGfnstsPimOO0NJayiA
提取码:8888
下载压缩包 easthome_porting.zip
S5P6818 开发板
.. 4412 4418 6818
Cortex A53 做系统软件开发
BIOS Linux内核
ARM ---》 三星公司
IP cpu的物理设计
A3 A5 A7 A9 A11 ...
核心板:
DRAM 1G
SRAM Cache
EMMC 8G
SATA
底板:LCD + TS + SOUND + NET + GPIO + UART +...
soc: system on chip
cpu (cotex-a53) +
内置内存(DRAM) +
内置的闪存(flash EMMC)
+ 内部总线
+ mmc + LCD + TS +
SOUND + 网卡控制器 + Rtl8211 PHY
+ GPIO + UART + ...
三 一周时间,将linux系统移植到开发板。
3.1 什么是移植?
根据实际需求,将uboot 或者 linux内核做剪裁,
对代码做少量的修改,并完成实际的业务处理,
放在开发板上运行。
3.2 检查上位机环境
检查配置:
CPU 4
内存 4G
硬盘 100G
虚拟机环境 VMworkstation + Ubuntu18.04虚拟机
安装必要的软件包
注意: 如果使用liuyang虚拟机的,不需要安装
使用的是zack,不需要安装
1.sh env.sh
注意,使用自己的虚拟机,需要执行脚本进行安装
安装软件包的命令:
sudo apt update
sudo apt install xxxx
如何连接网络:
1.网络设置为DHCP方式
2.虚拟机---》 设置 ---》 网络适配器 --》桥接模式
3.编辑 ---》 虚拟网络编辑器
--》 选择桥接到物理机对应的网卡上
4.验证 ping www.baidu.com
如果通了,sudo apt install vim
sudo apt install nfs-kernel-server
sudo apt install tftpd-hpa
5.还是ping不通,重启,再来一遍
6.还是ping不通,
执行sudo /etc/init.d/networking restart
3.3 操作Linux的分辨率
3.3.1 安装fbset
sudo apt install fbset
3.3.2 如何查看Linux当前的分辨率
sudo fbset
3.3.3 修改配置文件
vi /etc/default/grub
GRUB_CMDLINE_LINUX="vga=0x318"
3.3.4 更新服务
sudo update-grub
3.3.5 重启系统
reboot
3.3.6 查看分辨率
sudo fbset
3.4 S5P6818的开发结构
the code linux
Unix C
汇编
APP 微信 QQ ...
GUI QT(C++) Andorid(Java) GTK(C) GUI..
--------------------------------------------
本地库 libc.so.6 libstdc++
文件系统 可以将硬盘中的数据识别成各种各样的文件
fat16 fat32 NTFS .....
Linux内核 Andorid Windows linus
grub 负责初始化 console
将所有的修改保存到flash
作业:eprom eeprom nand-flash nor-flash
bootloader 启动加载器 runtime
相当于一个非常大的裸板程序
--------------------------------------------
3.5 系统软件的启动流程
bootloader(uboot) ---> 加载inux内核 (uImage)
----> 挂载根文件系统 rootfs
3.6 Uboot烧写实验:
对于Linux来说,硬盘的分区问题
TF的存储空间 【ubootpak.bin uImage | 文件系统】
3.6.1 获取ubootpak.bin
makdir porting
cd porting
cp easthome_porting/fastboot/uboorpak.bin ./