网上大部分arm-linnux-gcc编译gtk,其实介绍的是directfb+gtk移植。我提供的是gtk 应用程序的arm-linux-gcc编译方法。
2021-12-16 12:50:33 19KB arm-linnux-gcc gtk
1
第一部分 前言 1 硬件环境 1.1 主机硬件环境 1.2 目标板硬件环境 1.3 工具介绍 2 软件环境 2.1 主机软件环境 2.1.1 Windows 操作系统 2.1.2 Linux 操作系统 2.1.3 目标板最后运行的环境 2.2 Linux 下工作用户及环境 2.2.1 交叉工具的安装 2.2.2 u­boot 移植工作目录 2.2.3 内核及应用程序移植工作 2.3 配置系统服务 2.3.1 tftp 服务器的配置 2.4 工具使用 2.4.1 minicom 的使用 3 作者介绍 3.1 策划, 组织, 指导, 发布者 3.2 ADS bootloader 部分 3.3 交叉工具部分 3.4 uboot 部分 3.5 内核部分 3.6 应用程序部分 3.7 网卡驱动部分 3.8 Nand Flash 驱动部分 第二部分 系统启动bootloader 的编写(ADS 1 工具介绍 1.1 ADS 命令行命令介绍 1.1.1 armasm 1.1.2 armcc, armcpp 1.1.3 armlink 2 基本原理 2.1 可执行文件组成及内存映射 2.1.1 可执行文件的组成 2.1.2 装载过程162.1.3 启动过程的汇编部分 2.1.4 启动过程的C 部分 3 AXD 的使用以及源代码说明 3.1 源代码说明 3.1.1 汇编源代码说明 3.1.2 C 语言源代码说明 3.1.3 源代码下载 3.2 AXD 的使用 3.2.1 配置仿真器 3.2.2 启动AXD 配置开发板 第三部分 GNU 交叉工具链 1 设置环境变量,准备源码及相关补丁 1.1 设置环境变量 1. 2 准备源码包 1.2.1 binuils 1.2.2 gcc 1.2.3 glibc 1.2.4 linux kernel 1.3 准备补丁 1.3.1 ioperm.c.diff 1.3.2 flow.c.diff 1.3.3 t­linux.diff 1.4 编译 GNU binutils 1.5 准备内核头文件 1.5.1 使用当前平台的gcc 编译内核头文件 1.5.2 复制内核头文件 1.6 译编glibc 头文件 1.7 编译gcc 第一阶段 1.8 编译完整的glibc 1.9 编译完整的gcc 2 GNU 交叉工具链的下载 2.1 ARM 官方网站 2.2 本文档提供的下载 3 GNU 交叉工具链的介绍与使用 3.1 常用工具介绍 3.2.1 arm­linux­gcc 的使用 3.2.2 arm­linux­ar 和 arm­linux­ranlib 的使用 3.2.3 arm­linux­objdump 的使用 3.2.4 arm­linux­readelf 的使用 3.2.6 arm­linux­copydump 的使用 4 ARM GNU 常用汇编语言介绍 4.1 ARM GNU 常用汇编伪指令介绍 4.2 ARM GNU 专有符号 4.3 操作码 5 可执行生成说明 5.1 lds 文件说明 5.1.1 主要符号说明 5.1.2 段定义说明 第四部分 u­boot 的移植 1 u­boot 的介绍及系统结构 1.1 u­boot 介绍 1.2 获取u­boot 1.3 u­boot 体系结构 1.3.1 u­boot 目录结构 2 uboot 的启动过程及工作原理 2.1 启动模式介绍 2.2 阶段1 介绍 2.2.1 定义入口 2.2.2 设置异常向量 2.2.3 设置CPU 的模式为SVC 模式 2.2.4 关闭看门狗 2.2.5 禁掉所有中断 2.2.6 设置以CPU 的频率 2.2.7 设置CP15 2.2.8 配置内存区控制寄存器 2.2.9 安装U­BOOT 使的栈空间 2.2.10 BSS 段清0 2.2.11 搬移Nand Flash 代码 2.2.12 进入C 代码部分 2.3 阶段2 的C 语言代码部分  2.3.1 调用一系列的初始化函数 2.3.2 初始化网络设备 2.3.3 进入主UBOOT 命令行 2.4 代码搬运 3 uboot 的移植过程 3.1 环境 3.2 步骤 3.2.1 修改Makefile 3.2.2 在board 子目录中建立crane2410 3.2.3 在include/configs/中建立配置头文件 3.2.4 指定交叉编译工具的路径 3.2.5 测试编译能否成功 3.2.6 修改lowlevel_init.S 文件 3.2.9 UBOOT 的Nand Flash 移植 3.2.8 重新编译u­boot 3.2.9 把u­boot 烧入flash 4 U­BOOT 命令的使用 4.1 U­BOOT 命令的介绍 4.1.1 获得帮助信息 4.2 常用命令使用说明 4.2.1 askenv(F) 4.2.2 autoscr 4.2.3 base 4.2.4 bdinfo 4.2.5 bootp 4.2.8 tftp(tftpboot) 4.2.9 bootm 4.2.10 go 4.2.11 cmp 4.2.12 coninfo 4.2.13 cp 4.2.14 date 4.2.15 erase(F) 4.2.16 flinfo(F) 4.2.17 iminfo 4.2.18 loadb 4.2.19 md 4.2.20 mm 4.2.21 mtest 4.2.22 mw 4.2.23 nm 4.2.24 printenv 4.2.25 ping 4.2.26 reset 4.2.27 run 4.2.28 saveenv(F) 4.2.29 setenv 4.2.30 sleep 4.2.31 version 4.2.32 nand info 4.2.33 nand device 4.2.34 nand bad 4.2.35 nand read 4.2.36 nand erease 4.2.37 nand write 4.3 命令简写说明 4.4 把文件写入NandFlash 4.5 下载提供 5 参考资料 第五部分 linux 2.6 内核的移植 1 内核移植过程 1.1 下载linux 内核 1.2 修改Makefile 1.3 设置flash 分区 1.3.1 指明分区信息 1.3.2 指定启动时初始化 1.3.3 禁止Flash ECC 校验 1.4 配置内核 1.4.1 支持启动时挂载devfs 1.4.2 配置内核产生.config 文件 1.4.3 编译内核 1.4.4 下载zImage 到开发板 2 创建uImage 2.1 相关技术背景介绍 2.2 在内核中创建uImage 的方法 2.2.1 获取mkimage 工具 2.2.2 修改内核的Makefile 文件 3 追加实验记录 3.1 移植linux­2.6.15.7 . 3.2 移植linux­2.6.16.21 3.3 移植linux­2.6.17 4 参考资料 第六部分 应用程序的移植 1 构造目标板的根目录及文件系统 1.1 建立一个目标板的空根目录 1.2 在my_rootfs 中建立Linux 目录树 1.3 创建linuxrc 文件 2 移植Busybox 2.1 下载busybox 2.3 编译并安装Busybox 3 移植TinyLogin 3.1 下载 3.2 修改tinyLogin 的Makefile 3.3 编译并安装 4 相关配置文件的创建 4.1 创建帐号及密码文件 4.2 创建profile 文件 4.4 创建fstab 文件 4.5 创建inetd.conf 配置文件 5 移植inetd 67 5.1 inetd 的选择及获取 5.1.1 获取inetd 5.2 编译inetd 5.2.1 修改configure 文件 5.2.2 编译 5.3 配置inetd 5.3.1 拷贝inetd 到根文件系统的usr/sbin 目录中 6 移植thttpd Web 服务器 6.1 下载 6.2 编译thttpd 6.3 配置 6.3.1 拷贝thttpd 二进制可执行文件到根文件系统/usr/sbin/目录中 6.3.2 修改thttpd 配置文件 6.3.3 转移到根文件系统目录,创建相应的文件 7 建立根目录文件系统包 7.1 建立CRAMFS 包 7.1.1 下载cramfs 工具 7.1.2 制作cramfs 包 7.1.3 写cramfs 包到Nand Flash 8 参考资料 第七部分 Nand flash 驱动的编写与移植 1 Nand flash 工作原理 1.1 Nand flash 芯片工作原理 1.1.1 芯片内部存储布局及存储操作特点 1.1.2 重要芯片引脚功能 1.1.3 寻址方式 1.1.4 Nand flash 主要内设命令详细介绍 1.2 Nand Flash 控制器工作原理 1.2.1 Nand Flash 控制器特性 1.2.2 Nand Flash 控制器工作原理 1.3 Nand flash 控制器中特殊功能寄存器详细介绍 1.4 Nand Flash 控制器中的硬件ECC 介绍 1.4.1 ECC 产生方法 1.4.2 ECC 生成器工作过程 1.4.3 ECC 的运用 2 在ADS 下flash 烧写程序 2.1 ADS 下flash 烧写程序原理及结构 2.2 第三层实现说明 2.1.1 特殊功能寄存器定义 2.1.2 操作的函数实现 2.3 第二层实现说明 2.3.1 Nand Flash 初始化 2.3.3 获取Nand flash ID 2.3.4 Nand flash 写入 2.3.5 Nand flash 读取 2.3.6 Nand flash 标记坏块 2.3.7 Nand Flash 检查坏块 2.3.8 擦除指定块中数据 2.4 第一层的实现 3 在U­BOOT 对 Nand Flash 的支持 3.1 U­BOOT 对从 Nand Flash 启动的支持 3.1.1 从 Nand Flash 启动U­BOOT 的基本原理 3.1.2 支持Nand Flash 启动代码说明 3.2 U­BOOT 对 Nand Flash 命令的支持 3.2.1 主要数据结构介绍 3.2.2 支持的命令函数说明 4 在Linux 对 Nand Flash 的支持 4.1 Linux 下Nand Flash 调用关系 4.1.1 Nand Flash 设备添加时数据结构包含关系 4.1.2 Nand Flash 设备注册时数据结构包含关系 4.2 Linux 下Nand Flash 驱动主要数据结构说明 4.2.1 s3c2410 专有数据结构 4.2.2 Linux 通用数据结构说明 4.3.1 注册 driver_register 4.3.2 探测设备probe 4.3.3 初始化Nand Flash 控制器 4.3.4 移除设备 4.3.5 Nand Flash 芯片初始化 4.3.6 读 Nand Flash 4.3.7 写Nand Flash 第八部分 Cs8900a 网卡驱动的编写与移植 1 Cs8900a 工作原理 2 在ADS 下cs8900a 的实现 2.1 在cs8900a 下实现的ping 工具 3 在u­boot 下cs8900a 的支持 3.1 u­boot 下cs8900a 的驱动介绍 3.2 u­boot 下cs8900a 的移植说明 4 在linux 下cs8900a 驱动的编写与移植 4.1 Linux 下cs8900a 的驱动说明 4.2 Linux 下cs8900a 的移植说明 4.2.1 为cs8900a 建立编译菜单 4.2.2 修改S3C2410 相关信息
2021-12-15 21:42:24 1.09MB Arm Linux系统移植
1
移植bluez到arm-linux 上的文档,非常的详细。
2021-12-15 18:05:55 5KB bluez
1
基于ARM+Linux的模拟电子琴设计
2021-12-14 21:08:54 1.43MB 基于 armlinux 模拟电子 设计
1
资源大于15MB分2次上传。 清晰度一般。加到11章 第12,13章没有。 第1章 嵌入式系统基础. 1.1 嵌入式系统简介 1.1.1 嵌入式系统定义 1.1.2 嵌入式系统与PC 1.1.3 嵌入式系统的特点 1.2 嵌入式系统的发展 1.2.1 嵌入式系统现状 1.2.2 嵌入式系统发展趋势 1.3 嵌入式操作系统与实时操作系统 1.3.1 Linux 1.3.2 uC/OS 1.3.3 Windows CE 1.3.4 VxWorks 1.3.5 Palm OS 1.3.6 QNX 1.4 嵌入式系统选型 第2章 基于ARM9处理器的硬件开发平台 2.1 ARM处理器简介 2.1.1 ARM公司简介 2.1.2 ARM微处理器核 .2.2 ARM9微处理器简介 2.2.1 与ARM7处理器的比较 2.2.2 三星S3C2410X处理器详解 2.3 FS2410开发平台 第3章 创建嵌入式系统开发环境 3.1 嵌入式Linux的开发环境 3.2 Cygwin 3.3 虚拟机 3.4 交叉编译的预备知识 3.4.1 Make命令和Makefile文件 3.4.2 binutils工具包 3.4.3 gcc编译器 3.4.4 Glibc库 3.4.5 GDB 3.5 交叉编译 3.5.1 创建编译环境 3.5.2 编译binutils 3.5.3 编译bootstrap_gcc 3.5.4 编译Glibc 3.5.5 编译完整的gcc 3.5.6 编译GDB 3.5.7 成果 3.5.8 其他交叉编译方法 3.6 通过二进制软件包创建交叉编译环境 3.7 开发套件 第4章 调试嵌入式系统程序 4.1 嵌入式系统调试方法 4.1.1 实时在线仿真 4.1.2 模拟调试 4.1.3 软件调试 4.1.4 BDM/JTAG调试 4.2 ARM仿真器 4.2.1 techorICE ARM仿真器 4.2.2 ARM仿真器工作原理 4.2.3 ARM仿真器的系统功能层次 4.2.4 使用仿真器和ADS Debugger调试ARM开发板 4.3 JTAG接口 4.3.1 JTAG引脚定义 4.3.2 通过JTAG烧写Flash 4.3.3 烧写Flash技术内幕 第5章 Bootloader 5.1 嵌入式系统的引导代码 5.1.1 初识Bootloader 5.1.2 Bootloader的启动流程 5.2 Bootloader之vivi 5.2.1 vivi简介 5.2.2 vivi的配置与编译 5.2.3 vivi代码导读 5.3 Bootloader之U-Boot 5.3.1 U-Boot代码结构分析 5.3.2 编译U-Boot代码 5.3.3 U-Boot代码导读 5.3.4 U-Boot命令 5.4 FS2410的Bootloader 第6章 Linux系统在ARM平台的移植 6.1 移植的概念 6.2 Linux内核结构 6.3 Linux-2.4内核向ARM平台的移植 6.3.1 根目录 6.3.2 arch目录 6.3.3 arch/arm/boot目录 6.3.4 arch/arm/def-configs目录 6.3.5 arch/arm/kernel目录 6.3.6 arch/arm/mm目录 6.3.7 arch/arm/mach-s3c2410目录 6.4 Linux-2.6内核向ARM平台的移植 6.4.1 定义平台和编译器 6.4.2 arch/arm/mach-s3c2410/devs.c 6.4.3 arch/arm/mach-s3c2410/mach-fs2410.c 6.4.4 串口输出 6.5 编译Linux内核 6.5.1 代码成熟等级选项 6.5.2 通用的一些选项 6.5.3 和模块相关的选项 6.5.4 和块相关的选项 6.5.5 和系统类型相关的选项 6.5.6 和总线相关的选项 6.5.7 和内核特性相关的选项 6.5.8 和系统启动相关的选项 6.5.9 和浮点运算相关的选项 6.5.10 用户空间使用的二进制文件格式的选项 6.5.11 和电源管理相关的选项 6.5.12 和网络协议相关的选项 6.5.13 和设备驱动程序相关的选项 6.5.14 和文件系统相关的选项 6.5.15 和程序性能分析相关的选项 6.5.16 和内核调试相关的选项 6.5.17 和安全相关的选项 6.5.18 和加密算法相关的选项 6.5.19 库选项 6.5.20 保存内核配置 第7章 Linux设备驱动程序开发 7.1 设备驱动概述 7.1.1 设备驱动和文件系统的关系 7.1.2 设备类型分类 7.1.3 内核空间和用户空间.. 7.2 设备驱动基础 7.2.1 设备驱动中关键数据结构 7.2.2 字符设备驱动开发 第8章 网络设备驱动程序开发 8.1 网络设备驱动程序简介 8.1.1 device数据结构 8.1.2 sk_buff数据结构 8.1.3 内核的驱动程序接口 8.2 以太网控制器CS8900A 8.2.1 特性 8.2.2 工作原理 8.2.3 电路连接 8.2.4 引脚 8.2.5 操作模式 8.3 网络设备驱动程序实例 8.3.1 初始化函数 8.3.2 打开函数 8.3.3 关闭函数 8.3.4 发送函数 8.3.5 接收函数 8.3.6 中断处理函数 第9章 USB驱动程序开发 9.1 USB驱动程序简介 9.1.1 USB背景知识 9.1.2 Linux内核对USB规范的支持 9.1.3 OHCI简介 9.2 Linux下USB系统文件结点 9.3 USB主机驱动结构 9.3.1 USB数据传输时序 9.3.2 USB设备连接/断开时序 9.4 主要数据结构及接口函数 9.4.1 数据传输管道 9.4.2 统一的USB数据传输块 9.4.3 USBD数据描述 9.4.4 USBD与HCD驱动程序接口 9.4.5 USBD层的设备管理 9.4.6 设备类驱动与USBD接口 9.5 USBD文件系统接口 9.5.1 设备驱动程序访问 9.5.2 设备拓扑访问 9.5.3 设备信息访问 9.6 设备类驱动与文件系统接口 9.7 USB HUB驱动程序 9.7.1 HUB驱动初始化 9.7.2 HUB Probe相关函数 9.8 OHCI HCD实现 9.8.1 OHCI驱动初始化 9.8.2 与USBD连接 9.8.3 OHCI根HUB 9.9 扫描仪设备驱动程序 9.9.1 USBD接口 9.9.2 文件系统接口 9.10 USB主机驱动在S3C2410X平台的实现 9.10.1 USB主机控制器简介 9.10.2 驱动程序的移植 第10章 图形用户接口 10.1 嵌入式系统中的GUI简介 10.1.1 MicroWindows 10.1.2 MiniGUI 10.1.3 Qt/Embedded 10.2 MiniGUI编程 10.2.1 MiniGUI移植 10.2.2 MiniGUI编程 10.3 初识Qt/Embedded 10.3.1 Qt介绍 10.3.2 系统要求 10.3.3 Qt的架构 10.4 Qt/Embedded嵌入式图形开发基础 10.4.1 建立Qt/Embedded 开发环境 10.4.2 认识Qt/Embedded开发环境 10.4.3 窗体 10.4.4 对话框 10.4.5 外形与感觉 10.4.6 国际化 10.5 Qt/Embedded实战演练 10.5.1 安装Qt/Embedded工具开发包 10.5.2 交叉编译Qt/Embedded库 10.5.3 Hello,World 10.5.4 发布Qt/Embedded程序到目标板 10.5.5 添加一个Qt/Embedded应用到QPE 第11章 Java虚拟机的移植 11.1 Java虚拟机概述 11.1.1 Java虚拟机的概念 11.1.2 J2ME 11.1.3 KVM 11.2 Java虚拟机的移植 11.2.1 获得源码 11.2.2 编译环境的建立 11.2.3 JDK的安装 11.2.4 KVM的移植及编译 11.2.5 KVM的测试 11.3 其他可选的虚拟机 11.4 性能优化
2021-12-12 09:53:09 9.95MB 嵌入式 arm linux 驱动开发
1
可以实现手指滑动切换图片
2021-12-11 20:01:00 4.03MB ARM Linux C
1
是rpm包,直接就可以在linux系统下安装,很方便使用的,是初学者必备宝典,呵呵
2021-12-10 10:55:22 304KB arm minicom 安装
1
BeagleBone_Black_RevB3PCB_BRD原版设计文件,可以运行wince /linux/android
2021-12-09 20:40:12 1.35MB wince arm linux android
1
基于Qt的ARM Linux 平台图形界面系统测试工具
2021-12-09 15:38:50 4.98MB QT ARMLinux Linux ARM
1
修复了网上下载解压错误的问题(Unexpected EOF in archive),本人解压后重新制作了压缩包,并测试通过。 由于上传权限只有<20M,所以做成3个分压卷,并非故意索分,三个包总共资源2分
2021-12-08 23:27:58 12MB Cross 2.95.3 交叉编译 工具链
1