开发板IP:192.168.5.9
WINDOWS网卡IP:192.168.5.10
Ubuntu(服务器)IP:192.168.5.11
sourceinsight:编译程序文件
Filezilla:用来进行跨系统文件传输,Windows文件传输到服务器(Ubuntu),定期查看Ubuntu的NAT地址
Filezilla配置:
主机:192.168.5.9 用户名:root 密码:不用填 端口:22
GIT站点:邮箱:user@100ask.com,用户名:100ask
系统驱动和Linux驱动的概念
什么是系统驱动?
计算机里有很多 “硬件”(比如键盘、鼠标、显卡、U 盘、打印机等),它们的 “语言” 是硬件自身的电信号、芯片指令(比如 U 盘的存储协议、显卡的渲染指令),而操作系统(比如 Windows、Linux)的 “语言” 是软件指令(比如 “读取数据”“显示画面”)。
硬件和操作系统天生 “语言不通”,驱动程序就是两者之间的 “翻译官”:
- 当操作系统想让硬件干活(比如 “让显卡显示一张图片”),驱动会把系统的指令翻译成硬件能懂的电信号 / 芯片指令;
- 当硬件有信息要反馈(比如 “键盘按了 A 键”“U 盘存满了”),驱动会把硬件的信号翻译成系统能理解的软件信息。
那 Linux 驱动是什么?
简单说,Linux 驱动就是 Linux 系统里的 “翻译官”—— 专门帮 Linux 系统和硬件 “沟通” 的程序。
比如你给 Linux 电脑插了个 U 盘:
- 没有驱动的话,Linux 根本不知道 “插了个东西”,或者知道插了但不知道它是 “能存文件的 U 盘”,自然用不了;
- 有了 U 盘驱动,驱动会告诉 Linux:“这是个 U 盘,支持读写,接口是 USB3.0”,Linux 就知道该怎么 “指挥” 它存文件、读数据了。
Linux 驱动的一个特点
和 Windows 不同,Linux 的很多驱动是 “开源” 的,并且直接集成在 Linux 内核(系统的核心)里。这也是为什么很多硬件插在 Linux 电脑上能 “即插即用”—— 内核里已经自带了它的驱动,不需要像 Windows 那样手动装驱动程序。
所以对于Linux驱动移植这个概念,我认为是在嵌入式领域中,由于Linux的开源性和集成性,可以通过把Linux系统移植到板子上面,然后通过Linux内核的硬件驱动来实现对各种硬件外设的适配。
注意:编译驱动程序的时候要注意把程序目录下的Makefile文件里面的内核路径修改为我们的内核路径
配置交叉编译工具链
交叉编译工具链用来在Ubuntu主机上编译应用程序,而这些应用程序则是在 ARM 等其他平台上运行。具体的配置代码如下:
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueab
ihf_sdk-buildroot/bin
1574

被折叠的 条评论
为什么被折叠?



