嵌入式 linux 编译

  编译linux,在网上下载了 linux-2.6.32.8.tar.bz2 ,按照文档说明进行移植,针对2440,首先使用 tar jxvf linux-2.6.32.tar.bz2 进行解压,然后移植,在编译过程中出现了两处错误,现总结一下:

      第一次编译时,提示【mm/……】有错误,原因是交叉编译环境版本过低,原来用的 arm-linux-gcc-3.3.2 编译uclinux还可以,现在编译linux-2.6.32.8不行,然后在网上下载了比较新的交叉编译编译环境 arm-linux-gcc-4.3.2.tgz  ; 使用 tar zxvf arm-linux-gcc-4.3.2.tgz 命令解压,在 /etc/bashrc 中修改环境变量 再次编译,提示的【mm/……】错误消失了。总结:用 arm-linux-gcc-4.3.2 交叉编译环境 编译 linux-2.6.32.8

      第二次换了编译环境编译时又提示 :make[3]: *** [drivers/video/console/vgacon.o] 错误 1  在网上搜索结果:根据信息的大概意思是关于vga的支持问题,在这里我直接把关于vga的配置选项去掉不选,即 在执行 make menuconfig 配置时 不选vga 驱动。

Device Drivers

      ---->Graphics support

              ----->Console display driver support

            ----->VGA text Console(这个选项不选就能解决此问题)

      再次编译就比较顺畅了,最终生成 zImage

      下一步就要做qt的移植,今天就到这了。以后慢慢来,不过linux的驱动编写还要深入研究啊

### 嵌入式 Linux 环境下 C 语言编译教程 #### 准备工作 为了能够在嵌入式 Linux 环境中成功编译 C 语言程序,需要准备合适的开发环境。通常情况下,直接在嵌入式设备上进行编译效率较低,推荐采用交叉编译的方式,在 PC 上构建适用于目标嵌入式系统的二进制文件[^3]。 #### 安装交叉编译工具链 安装针对 ARM 架构的 `arm-linux-gnueabi-gcc` 或者其他适用版本的 GCC 工具链到主机环境中。可以通过包管理器如 APT 来简化这一过程: ```bash sudo apt-get update && sudo apt-get install gcc-arm-linux-gnueabi ``` #### 创建并编辑简单的 C 文件 创建一个新的 `.c` 文件用于测试编译流程。这里提供了一个简单例子——打印 "Hello, Embedded World!" 的小程序: ```c // hello_embedded.c #include <stdio.h> int main(void){ printf("Hello, Embedded World!\n"); return 0; } ``` #### 使用交叉编译编译代码 通过指定路径调用之前安装好的交叉编译器来进行实际编译操作。假设已经保存上述源码至当前目录下的 `hello_embedded.c` 文件,则可以按照下面方式执行编译命令: ```bash arm-linux-gnueabi-gcc -o hello_embedded_arm hello_embedded.c ``` 这一步骤将会把标准 GNU/Linux 平台上的 C 源代码转化为可以在 ARM 设备上运行的形式[^5]。 #### 验证生成文件为目标架构专用 利用 `file` 命令确认刚刚产生的可执行文件确实是为 ARM 处理器设计的: ```bash file hello_embedded_arm ``` 预期输出应包含类似于 “ARM aarch64” 字样说明该文件确实是为了 ARM 架构所制作。 #### 将编译后的程序传输给目标设备 最后一步是将新生成的二进制文件传送到真实的或模拟的嵌入式平台上,并在那里尝试运行它以验证一切正常运作。常用的方法包括 SCP (Secure Copy Protocol),FTP/SFTP 协议等远程拷贝手段实现文件转移。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值