37.4_1-1_交叉编译 Hello 程序
- 开发板通过串口连接到 PC,通过桥接网卡连接到 Ubuntu
- PC 通过 SSH 连接到 Ubuntu
- Ubuntu 和开发板使用 NFS 传输文件
- 具体编译过程参考《4.3》和《4.2》
38.4_1-2_hello 程序的引申
39.4_2-1.GCC 编译过程
.c 和.h 预处理之后得到.i 文件,编译成汇编码,通过机器码解析,众多的机器码链接成一个 APP。
- 可以看到预处理之后的文件。
- 语法错误是在编译过程中发现的。
40.4_2-2.GCC 常用选项_newnew
-
编译的头文件在工具链的库里面。
-
指定头文件不加会提示会报错
-
静态库与动态库
-
总结:
-
查看路径:
- 头路径
- 库路径
42.4_3-2.Makefile 的引入及规则
43.4_3-3.Makefile 的语法
通配符
假想目标
即使变量与临时变量
例子
44.4_3-4.Makefile 函数
- 空格隔开的词替换成其他形式
- 取出格式的值
- 替换
45.4_3-5.Makefile 实例_newnew
把警告变成了错误,并且指定在当前目录查找头文件,同时也会去 gcc 工具链查找头文件。
46.4_3-6.通用 Makefile 的使用
例程:
额外编译:
单独编译:
47.4_3-7.通用 Makefile 的解析
48.4_4-1_文件 IO_读写文件
怎么写 SD 卡
将 sd 卡挂载到某个分区,访问这个分区就是访问 SD 卡。
虚拟文件
特殊文件
主设备号确定哪个驱动(iic),次设备号对应不同的硬件。
main
参数用空格隔开
man 用法
mmap copy
- mmap 可以把普通文件的内容映射给应用程序
- 也可以把驱动程序中的某一块内存映射给应用程序(例如显存)
49.4_4-2_文件 IO_内核接口
FAT32/ EXT4 是指文件系统,块设备是啥建议再看看之前的视频。
块设备就是硬盘磁盘这些物理储存器。
FAT,EXT4 都是对文件的一种管理技术。
字符设备与块设备的区别
50.4_4-5.Framebuffer 应用编程
描点
测试
在 ubuntu 上编译,拷贝程序到 nfs,开发板挂载 nfs,执行。
51.4_6-1.字符的编码方式
大端模式
正常 A 是:0x0041
大端模式:0x00 0x41(权重小在后)
小端模式:0x41 0x00(权重小在前)
52.4_6-2.ASCII 字符的点阵显示
位置确定
数组
数组是根据 ASCII 来取值的。
53.4_6-3.中文字符的点阵显示
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于