基于AT91产品的Linux开发入门介绍
基于AT91RM9200的Linux启动分析

0 (
图 1引导程序算法流程 图
3O
科技论 文
它首先激活芯片 内部的启动程序, 依次查找连接在S I P上的Da Fah 连接在两线接 tl 、 a s E T 上的E P O l WO ( E R M或连接在外部总线接 V(B ) I I E 上的8 位存储器器件上的8 位有效
A M异常向量。 R 所有异常向量必须是由Bbac或L R . nh D 指令载入寄存器。 r 其中A M异常 R的大dKDaa l h t O dwnodr  ̄ t a  ̄f: Fs 类
的系统引导加载程序。Ub o 就是满足需要的开放源码项 目。 -ot
21 .o t . U b o 介绍 U B o,全称 U i r l ot odr 。ot nv s o L ae,是遵循 G L条款的开放源码项 目。它是在 eaB P P C O T以及 A MB O PB O R O T的基础上逐步发展成熟和稳定。UB o 不仅仅支持嵌入式 — ot lu i x系统的引导,当前 ,它还支持 N t S , x rs Q X R E , R O , y x S n e D V Wo , N , T MS A T S L nO B k
型。
若启动程序发现有效的启动 , 就将代码载入内部S A R M中。 在利用MMU 单元完成内 存重映射后, R M将映射到从00 00 0开始的地址 ( SA x 000 0 见图2 , ) 此时将pN转到S A cg R M 的起始地址后开始运行 。
I l 砬省 a
S RAM REM I 埘 a 擅e l
31
电信技 术研 究
20 年 第 9期 08
嵌入式操作系统 。同时 U bo 除了支持 A M 系列的处理器外 ,还能支持 MIS 8、 —ot R P 、x 6 Pwe C、NI 、XSae o r P OS cl等诸 多常 用系列 的处理器 , b o 已经成 为嵌 入式开 发中事实 U—ot
基于AT91SAM9261EK的嵌入式Linux移植_基于UBI根文件系统

烧写的步骤如下:(先全部擦除整个 NandFlash,烧写 Bootstrap 与 Uboot,烧写好 Kernel)。
三:Linux 内核的启动传递参数设置:UBI 根文件系统
#else /* CONFIG_SYS_USE_NANDFLASH */
/* bootstrap + u-boot + env + linux in nandflash */ #define CONFIG_ENV_IS_IN_NAND #define CONFIG_ENV_OFFSET 0xc0000 #define CONFIG_ENV_OFFSET_REDUND 0x100000 #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */ #define CONFIG_BOOTCOMMAND "nand read 0x22000000 0x200000 0x300000; bootm" #define CONFIG_BOOTARGS \ "mem=64M console=ttyS0,115200 " \ "ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs init=/linuxrc " #endif
Uboot 需要设置为支持 UBI 命令,方法是更改相应的开发板头文件:位置 在 include/configs/at91sam9261ek.h,不同的开发板或是自己的板子,需要 更改相应的 xxxx.h 文件。
Linux下at91sam9x25嵌软开发测试环境搭建文档

硬件环境软件环境1 安装虚拟机1.1虚拟机选择Ubuntu 11.10以上版本(升级比较方便)1.2虚拟机的配置与升级apt-cache search package 搜索包apt-cache show package 获取包的相关信息,如说明、大小、版本等sudo apt-get install package 安装包sudo apt-get install package - - reinstall 重新安装包sudo apt-get -f install 修复安装"-f = ——fix-missing"sudo apt-get remove package 删除包sudo apt-get remove package - - purge 删除包,包括删除配置文件等sudo apt-get update 更新源sudo apt-get upgrade 更新已安装的包sudo apt-get dist-upgrade 升级系统sudo apt-get dselect-upgrade 使用dselect 升级apt-cache depends package 了解使用依赖apt-cache rdepends package 是查看该包被哪些包依赖sudo apt-get build-dep package 安装相关的编译环境apt-get source package 下载该包的源代码sudo apt-get clean && sudo apt-get autoclean 清理无用的包sudo apt-get check 检查是否有损坏的依赖2 Linux下安装交叉编译环境2.1安装步骤1)下载arm-2011.03-42-arm-none-eabi-i686-pc-linux-gnu.tar.bz22)命令行安装# tar xvzf arm-2011.03-42-arm-none-eabi-i686-pc-linux-gnu.tar.bz2# cd arm-2011.033 安装arm设备编程工具SAM Boot Assistant(SAM-BA)3.1 Windows下安装1)安装sam-ba_2.11.exe软件;2)安装USB CDC驱动;图3.1图3.2图3.3图3.4图3.5图3.7打开SAM-BA 2图3.8图3.93.2 Linux下安装1)解压sam-ba_2.11.tar.bz2;2)安装USB CDC驱动;1/ Login with administrator rights2/ Unload usbserial module if it is already running #rmmod usbserial3/ Load usbserial kernel module#modprobe usbserial vendor=0x03eb product=0x61244/ Verify that the USB connection is established#lsusb -d 03eb:6124Bus 004 Device 006: ID 03eb:6124 Atmel Corp5/ Know which USB connection is established#dmesgkernel: usb 4-2: new full speed USB device using uhci_hcd and address 5kernel: usb 4-2: configuration #1 chosen from 1 choicekernel: usbserial_generic 4-2:1.0: generic converter detectedkernel: usbserial_generic: probe of 4-2:1.0 failed with error -5kernel: usbserial_generic 4-2:1.1: generic converter detectedkernel: usb 4-2: generic converter now attached to ttyUSBx=> you will have to use /dev/ttyUSBx to connect to your boardRunning SAM-BA CDC Serial version :Launch 'sam-ba_cdc_x.y.linux_zz' file, and select your board and the /dev/ttyUSBxdevice where your board in mounted on.- Update the kernel:# apt-get install linux-image-generic linux-headers-generic- On 64 bits version install 32 bits libraries:# apt-get install ia32-libs- Give sam-ba execute permission if needed:$ chmod +x sam-ba- Connect the board- Create a symlink on /dev/ttyACM0# ln -s /dev/ttyACM0 /dev/ttyUSB0- Launch sam-baTested on:Ubuntu 10.04 64 bits 2.6.32-33-generic (2.6.32-33.70)Ubuntu 10.10 32 bits 2.6.35.30-generic (2.6.35-30.56)Ubuntu 10.10 64 bits 2.6.35.30-generic (2.6.35-30.56)Ubuntu 10.10 64 bits 2.6.38-10-generic (2.6.38-10.25)Ubuntu 11.10 64 bits alpha3How to check if your kernel is up to date ?$ dmesgIf you have something like that (not exactly the same) it's ok:[227274.230016] usb 5-1: new full speed USB device using uhci_hcd and address 5[227274.395739] cdc_acm 5-1:1.0: This device cannot do calls on its own. It is not a modem.[227274.395768] cdc_acm 5-1:1.0: ttyACM0: USB ACM deviceIf you don't have this part: 'This device cannot do calls on its own. It is not a modem.',your kernel is probably not up to date or the cdc_acm patch has not been backported.4 示例4.1 下载AT91Bootstrap源码1)得到源码;2)解压# tar xvzf AT91Bootstrap-5series_1.2.tar.bz2#cd AT91Bootstrap-5series_1.24.2 配置AT91Bootstrap和选择启动媒介1) 从NAND FLASH启动#make at91sam9xnf_defconfig2)添加环境变量#vi .profilePATH="$PATH:/root/Public/arm-2011.03/bin"export PATH#souce .profile3)配置AT91Bootstrap#make menuconfig4.3 编译AT91Bootstrap#export $CROSS_COMPILE=” arm-none-eabi-”#make clear#make在../AT91Bootstrap-5series_1.2/binaries下产生at91sam9x5ek-nandflashboot-3.1.bin文件4.4 使用AT91Bootstrap二进制文件1)从NAND flash启动A T91Bootstrap图 4.1在NAND和SPI无效的前提下,启动SAM-BA,烧AT91Bootstrap到NAND flash,如图4.1所示:(1)在SAM-BA图形用户界面上选择NandFlash媒介选项卡;(2)1)在NAND有效的前提下,在Scripts下拉列表框中选择“Enable NandFlash”;然后点击“Execute”按钮,完成NandFlash的初始化,如图4.2所示;图 4.2.12)清除芯片上原来烧的信息图 4.2.2结果如图4.2.1、图4.2.2和图 4.5所示。
ARM linux(ATSAM9261)开发笔记

ARM linux(ATSAM9261)开发笔记arm-linux(atsam9261)开发笔记at9261_uuLinux开发说明一、开发环境:1.windowsxp+vmware+readhat9。
02.共享目录:arm_uuLinux3.redhat开发目录:/home/liudong3.编译工具:arm-none-linux-gnueabi-gcc4两点三4.系统硬件处理器:at91sam9261b,64msdram,128mnandflash。
5.虚拟机网络设置本机PC:IP:192.168.1.60掩码:255.255.255网关:192.168.1.1虚拟网卡网络1:IP:192.168.1.200掩码:255.255.255网关:192.168.1.1虚拟网卡网络8:IP:192.168.1.201掩码:255.255网关:192.168.1.1虚拟机连接模式:桥接linux系统设置:ip:192.168.1.203掩码:255.255.255网关:192.168.1.1二、安装编译器工具1、解压编译工具到linux(对应源文件:开发工具/arm-2021q1-126-arm-none-linux-gnueabi/arm-2021q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2)#cd/mnt/hgfs/arm_uu-linux/#tarxvfjarm-2021q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2-c/home/liudong/2.修改环境变量#gedit/etc/profile修改profile文件,例如下图:另一种方法是修改bashrc#vi~/bashrc3、更新环境变量#source/etc/profile查看是否成功:#Arm none Linux guneabi gcccv检查版本是否为4.2.3三、编译bootstrap相应的源文件(源文件/bootstrap-v1.16)1。
AT91SAM3U ARM-CM3 开发板使用指南说明书

ATMEL AT91SAM3U ARM-CM3 BoardGetting StartedV1.0EMBEST CO., LTDAddress: Room 509, Luohu Science & Technology Building,No.85, Taining Road, Shenzhen, Guangdong, China 518020 Telephone: 0086-755-25621715Fax: 0086-755-25616057Sales Email:Support Email:Information Email:Website:/enRequest Technical Assistance: /en/request.asp1. Packing List(1) One ATMEL AT91SAM3U ARM-CM3 Board(2) One 2.4 inches TFT LCD(240*320)(3) One RS-232 serial cable(4) One USB A-B cable(5) One CD-ROM(6) Packing List(7) Getting Started – this paper2. AT91SAM3U Board PictureFigure 1.0 AT91SAM3U Board3. Hardware RequirementsIn order to make good use of this AT91SAM3U ARM-CM3 Board,We recommend you to prepare the following hardware devices:(1) One AT91SAM3U ARM-CM3 Board.(2) A PC with either of the following:Two unused USB ports—one to supply power to the board and one for downloading and debugging.An unused RS-232 COM port for Flash In-System Programming (ISP) via the Serial Interface.(3) One USB-JTAG Adapter.You should prepare a JTAG Adapter which is able to debug cortex-m3 based processor, You can either use Keil ULink2 or Emlink for ARM produced by Embest.(4) Two USB cables.(5) Double Female Serial Cable4. Software RequirementsWe recommend you to reach the following software requirements for embedded development based on AT91SAM3U processor.(1) Windows Operating SystemThe Keil µVision tool chain runs in these Windows Operating Systems:Microsoft Windows 2000Microsoft Windows XP(2) Tools and ExamplesTo compile, link, and run applications on the AT91SAM3U Evaluation Board, please install the following products on your pc:Keil UVision IDEYou can purchase the Keil UVision IDE, such as RealView MDK-ARM from Keil Corporation, or you can also download the evaluation version of RealView MDK for free of charge. Of course, you can use other IDE as well, such as IAR EWARM, but we suggest you using Keil UVision IDE, then you can use the example programs we provide in CD-ROM, otherwise, they would be useless.Example programs written for the AT91SAM3U. These example programs are stored in the CD-ROM accompany with the AT91SAM3U board.5. Technical DataParameter DescriptionSupply Voltage 5 Volts DC (provided by power adapter)Supply Current 210mA typical, 320mA maximumXTAL Frequency 12 MHzMicrocontroller AT91SAM3U4E LQFP 144 PinsPeripherals 2 × RS232 Interface,1 × USB Device Interface (High-speed),1 × 2.4” Color graphic display (240x320),1 × MicroSD Memory Card connector,1 × JTAG Interface,5 × Push Buttons (Reset, Wake Up, Tampering, User), 2 × BNC Interface,1 x RTC Unit with Battery,1 × Analog Input (connected to potentiometer),1 × Analog Output (connected to speaker by default)Board Size 135mm x 90mm (5.3" x 3.5") Weight 320g6. Test this board(1) Start the PC(2) Connect relevant devicesConnect COM1 interface of the board to the COM interface of the PC by using a serial port cable for the information display and input;Connect the PC’s USB port to the USB port on board by using a USB cable for USB communication and power supply; the power LED lights when power is applied to the board.(3) When the board electrifies, press the Reset button on the board, then watch the phenomenon displaying on the LCD screen(4) Start the hyperterminal on the PC, press the Reset button on the board again, will you see the phenomenon displaying on the hyperterminal, and then run relevant programs according to the instructions refered on the hyperterminal.7. What is in the CD-ROM?(1) Documents -- user manual, data sheet and the other development document.(2) Images -- image files for this product.(3) Software -- software programs or this product.(4) Tools -- the utilities tools and software.。
星光AT91RM9200开发板使用手册

中国电子开发网()星光AT91RM9200开发板使用手册用户手册CEDN2008‐4‐1在使用本文档的时候,如遇到问题请访问中国电子开发网的技术支持()目录星光AT91RM9200开发板使用手册 (3)0 结构示意图 (3)1 系统构成 (4)1.0 基本构成 (4)1.1 外部接口 (4)2 地址空间分配(系统reset之后) (4)3 外部中断分配 (5)4 跳线说明 (6)4.0 启动模式选择 (6)4.1 其他跳线(一般不必设置) (6)5 首次使用 (7)5.0 注意事项 (7)5.1 开发板板载启动代码 (7)5.2 开发板板载启动信息 (7)6 简单程序的调试 (8)6.0 调试工具 (8)6.1 AXD添加H‐JTAG支持 (8)6.2 调试过程 (9)7 将文件烧写到开发板 (12)7.0 将文件烧写到NOR FLASH (12)8 其他说明 (14)星光AT91RM9200开发板使用手册0 结构示意图图1、星光AT91RM9200开发板结构示意图1 系统构成1.0 基本构成1、处理器CPU: 型号AT91RM9200 封装272pin‐FBGA2、NOR FLASH: 型号SST39VF3201 封装48Pin‐TSOP 4M 总线宽带16bits3、NAND FLASH: 型号K9F1208U0C‐Y,P 封装48pin‐TSOP1 64M4、内存SDRAM: 型号HY57V281620 封装54pin‐TSOP 两片32M 总线宽带32bits 1.1 外部接口1、UART串口: 3个的串口(J3为4线,J4为2线(DEBUG),J15为485串口)。
2、USB接口: 1个USB Host接口。
1个USB Device接口。
3、IIC接口: 用于IIC总线EEPROM。
4、SD/MMC接口: 用于SD/MMC卡。
5、CF卡接口: 1个CF卡。
6、CAN总线: 通过SPI总线扩展,MCP2515 CAN控制器。
基于AT91RM9200与LINUX2.6.26内核的嵌入式平台开发全过程
基于AT91RM9200与LINUX2.6.26内核的嵌入式平台开发全过程收藏一、ARM9+LINUX开发历程使用了51系列和MOTOROLA单片机若干年,觉得自己已经跟不上嵌入式发展的时代了。
决定开发一种新的硬件平台,综合比较了一下,觉得ARM9+LINUX模式不错。
先从头捋一遍32位嵌入式开发平台的流程:芯片选型——使用DXP画原理图(如果有可能买块开发板可以极快加快进度)——使用DXP 画PCB图——芯片购买/PCB投板生产——芯片焊接——使用ADS编写简单硬件测试程序,调试硬件——搭建LINUX服务器,在服务器建立交叉编译环境——利用服务器和本机超级终端开发U-BOOT-1.3.4——利用U-BOOT-1.3.4的以太网FTP功能和服务器移植开发LINUX-2.6.26 内核——开发文件系统——开发驱动程序——应用程序开发,项目完基本成后回过头来想就是这个一个过程,中间走了不少弯路,在本博客中都有记载,很多问题有的也没有来得及记。
说干就干,时间安排如下:(1)5~7月硬件设计(芯片,型号,预测价格),已初步完成CPU:AT91RM9200,81SDRAM:MT48LC16M16A2TG-75IT(两片32MB*2)74*2FLASH:S29GL256N10TAI010(NOR型,32MB,存代码,写慢读快)57.52FLASH∶K9F2G08U0B(NAND256MB,预留存测试数据,写快读慢)41.1铁电存储器:FM24CL64(代替EEPROM24LC65,8KB)8.29以太网物理层控制器:DM9161E(100M/10M自适应)9.4从USB接口:用于与PC机通信主USB接口:用于后续移植LINUX时软件更新触摸屏驱动器:TSC2046(预留)液晶显示屏模块-TFT液晶显示接口(预留)(2)ADS+AXD+J-LINK调试过程目的是为了熟悉ARM开发流程,ADS开发环境,以便为将来U-BOOT的移植打下基础.由于网上资料不多,本步骤走了不少冤枉路,特总结在此,以便以后可以参考.容易步骤省略.安装ADS>>创建ADS工程>>添加所需要文件>>DEBUG SETTING,将程序的RO_Base设为0X200000则将程序导入A T91RM9200的片内16K的SRAM中运行,实践证明此时不需要管BMS引脚是高是低都能正常运行,也不需要进行REMAP;若将程序的RO_Base设为0X20000000则将程序导入片外64M的SDRAM中运行,此时程序导进SDRAM后需要SETMEM命令将SDRAM初始化,才能正常运行。
AT91RM9200DK U-Boot 开发人员手册(指南)
AT91RM9200DK U-Boot 开发人员手册(指南)1 - 目的本文档针对描述AT91RM9200DK开发套件中内嵌的bootloader而写。
它从开发人员的角度对U-Boot进行了叙述,主要介绍了:∙U-Boot的构成∙如何编译U-Boot∙升级U-Boot或由零开始烧写U-Boot的不同解决办法∙U-Boot相关工具本文档是U-Boot用户指南(手册)的补充,它主要面向需要对U-Boot进行修改的开发人员。
2 - 特性针对AT91RM9200系列基于ARM的产品,U-Boot软件有以下特性:∙独立的原始自举程序(bootstrap)∙小体积∙不依赖于特定的操作系统(OS)∙自动启动和交互启动方式∙命令行界面(CLI)∙非易失的环境变量∙能够对Flash进行编程∙能够对DataFlash进行编程(可在最近的开源下载中获得)∙通过串行接口(Kermit协议)下载目标代码∙通过以太网(tftp)下载目标代码∙完整的引导协议(bootp)∙支持脚本3 - 软件包说明U-Boot是由开源社区支持的一个计划(project)。
它在通用公共许可证(GPL)下发布。
参见U-Boot源代码来获得credits和licensing的相关信息。
U-Boot源代码提议:∙在一个U-Boot版本中包含所有的源代码。
注意:本版本不一定是U-Boot的最新版本。
如果要做很大改动,那么请从U-Boot网站获得最新的源代码。
∙在一个Boot版本中包含原始的自举程序(bootstrap)和已解压的源代码。
∙在一个Loader版本包含允许从头开始U-Boot的所有源代码。
AT91RM9200DK U-Boot软件版本由三个不同的部分组成:∙一个包含U-Boot、Boot和Loader源代码的目录。
∙一个包含了无需经过任何编译过程就可以直接烧写Flash的所有U-Boot二进制文件的目录。
∙一个含有用户指南和开发人员指南的目录。
基于Linux的AT91SAM9G20微处理器节能研究
n a mi c P o w e r Ma n a g e m e n t ) 技术 以及根据判断进程 队列 中的进程数量来 改变微处理器 主频。因此 , 通过设计功耗 控制模块 , 编 写功耗 控制驱 动程 序, 最终实现功耗控制。经编写 的测试程序试验表 明, 功耗控制模 块有效可行 , 驱 动程序代 码易于移植和扩展 , 在 电源供 电的同等条 件下 , 该方案可 以大大 降低功 率消耗 。
关键词 A 3 91 S A M9 G 2 0微处理器 T P 3 1 节能 L i n u x 功耗控 制模块 驱 动程序
中图分 类号
文献标识码
A
ቤተ መጻሕፍቲ ባይዱ
D O I : i o . 3 9 6 9 / j . i s s n . 1 0 0 0 . 3 8 6 x . 2 0 1 4 . 0 3 . 0 6 0
me n t o n p r o c e s s n u mb e r s i n p r o c e s s q u e u e .T h e r e f o r e ,p o we r c o n s u mp t i o n c o n t r o l i s e v e n t u a l l y r e a l i s e d b y d e s i g n i n g t h e p o w e r c o n s u mp t i o n c o n t r o l mo d u l e a n d c o mp i l i n g i t s d r i v i n g p r o g r a m.I t i s d e mo n s t r a t e d b y t h e c o mp i l e d t e s t p r o ra g m t h a t t h e p o we r c o n s u mp t i o n c o n t r o l mo d u l e
基于AT91RM9200的ARM-Linux移植的开题报告
基于AT91RM9200的ARM-Linux移植的开题报告一、选题背景随着嵌入式系统的发展,开发人员需要越来越多的处理能力和丰富的外设接口。
ARM架构作为一种低功耗和高性能的体系结构,已经被广泛应用于无线路由器、智能家居、汽车娱乐系统等嵌入式系统。
AT91RM9200是Atmel公司开发的一款基于ARM9架构的嵌入式处理器,具有高速的外设接口和丰富的功能,适用于各种嵌入式应用。
Linux是一种广泛使用的免费开源的操作系统,适用于各种计算机平台。
通过将Linux移植到AT91RM9200上,可以充分发挥该处理器的性能和功能,实现更加复杂的应用需求。
二、研究内容本研究的主要内容是将Linux移植到AT91RM9200上,并对其进行调试和优化。
具体包括以下几个方面:1. 硬件选型和环境搭建:选择AT91RM9200作为嵌入式处理器,搭建相应的开发环境(交叉编译工具链、启动程序等)。
2. 内核移植:从Linux官网下载ARM-Linux内核源码,编译并将其移植到AT91RM9200的开发板上。
3. 驱动程序开发:根据AT91RM9200的硬件特性,开发相应的驱动程序(包括网卡、usb、SPI等驱动),实现外设的访问和控制。
4. 系统调试和优化:对移植好的系统进行调试,定位和解决系统bug;对系统进行优化,提高其性能和稳定性。
三、预期目标通过本研究,预期实现以下目标:1. 完成Linux在AT91RM9200上的移植和编译,成功在开发板上运行Linux系统。
2. 开发和调试相应的驱动程序,实现外设的访问和控制。
3. 对系统进行调试和优化,实现正常稳定运行,并提高其性能和可靠性。
四、研究意义本研究的意义在于充分发挥AT91RM9200处理器的性能和外设接口,将其应用于更为复杂的嵌入式应用中。
同时,该研究也为其他嵌入式系统的Linux移植提供了参考。
五、研究难点1. 硬件选型:需要选择合适的开发板和外设组件,兼顾性能、价格和开发难度等方面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设备独立性 丰富的网络功能 可靠的系统安全 良好的可移植性
3
嵌入式Linux介绍
linux嵌入式最小系统构成: Bootloader。 Linux微内核 根文件系统
应用程序。 硬件的驱动程序 运行时支持函数库
Jul 2008
7
开发环境建立(linux服务器配置)
Fedora的安装(要启用telnet和ssh服务) 安装Tftp server的安装 下载tftp-server-0.42-4.i386.rpm软件包 安装: rpm –ivh tftp-server-0.42-4.i386.rpm 修改tftp server配置文件 vim /etc/xinetd.d/tftp
Jul 2008
9
开发环境建立(linux服务器配置)
安装xinetd设置NFS服务: 下载xinetd-2.3.14-11.i386.rpm软件包 安装 : rpm –ivh xinetd-2.3.14-11.i386.rpm
配置NFS服务
vim /etc/export 添加下面的内容:
Jul 2008
22
应用开发介绍(GCC)
GCC 常用选项 指定包含文件路径 : –I gcc test.c –I../inc -o test 指定链接的库:-l gcc -ljpeg hello.c 指定库路径:-L 编译优化: -O 生成调试信息:-g 定义符号常量:-D gcc -D CONFIG_URAT0_ON hello.c -o hello 警告开关: -Wall gcc –Wall hello.c –o hello
Jul 2008
8
开发环境建立(linux服务器配置)
安装DHCP服务器: 下载dhcp-3.0.5-35.fc7.i386.rpm软件包 安装: rpm –ivh dhcp-3.0.5-35.fc7.i386.rpm 修改dhcp配置文件 vim /etc/dhcpd.conf
深圳 2008
基于AT91产品的Linux开发入门介绍 张驿风 香港百特上海技术中心
1
概要
嵌入式linux 的简单介绍 嵌入式linux 开发环境建立 嵌入式linux 应用开发简介 嵌入式linux 驱动开发简介 嵌入式linux图形库 嵌入式linux 根文件系统建立
Jul 2008
17
开发环境建立(编译方法)
linux内核的编译 (linux服务器)
make clean make menuconfig make uImage
u-boot 的编译 (linux服务器)
make clean make
Jul 2008
14
开发环境建立(linux内核源代码安装)
配置目标板 清除以前的平台配置参数 make distclean 编辑 Makefile vim Makefile 修改如下: ARCH ?= arm CROSS_COMPILE ?= arm-linux 配置at91平台默认参数 make at91sam9261ek_defconfig
http://mirror.switch.ch/ftp/mirror/eldk/eldk/4.1/arm-linux-x86/iso/
安装 mount arm-2007-01-21-src.iso /mnt -o loop cd /mnt ./install –d /opt 配置路径 vim /etc/profile 加入: PATH=$PATH:/opt/usr/bin:/opt/arm/usr/bin
Jul 2008
13
开发环境建立(linux内核源代码安装)
linux内核源代码安装 下载合适的内核 linux-2.6.20.tar.bz2 下载at91补丁 2.6.xx-at91.patch.gz 解压内核 tar xvjf linux-2.6.20.tar.gz2 打补丁 zcat 2.6.xx-at91.patch.gz | patch -p1
26
应用开发介绍(常用库函数)
标准C库函数
标准I/O : fopen,fread,getc,fgetc,gets,scanf fwrite,put,putc,puts,fputs,printf fprintf passwd处理: getpwuid,getpwnam group处理: getgrnam,getuid 加密子程序: setkey,encrypt,crypt 运行shell: system
Jul 2008
11
开发环境建立(Windows端)
安装远程登录软件
Xshell Sc12
开发环境建立(编译器安装)
ARM LINUX GCC 工具链安装
下载 arm-2007-01-21-src.iso
Jul 2008
25
应用开发介绍(常用库函数)
操作系统提供函数库:
I/O子程序: creat,open,read,write 进程控制: exec,fork 文件属性: access,chmod
Jul 2008
操作系统: Fedora WindowsXp GCC工具链 linux服务器应用 DHCP服务器 Telnet 服务器 SSH服务器 TFTP服务器 windows客户端应用 终端登录工具 Xshell 超级终端 scrt401 代码编辑 UEStudio 代码阅读工具 Source Insight
编译
预处理
- o hello.s
汇编
汇编
gcc –c hello.s –o hello.o
连接
gcc hello.o –o hello
链接
Jul 2008
21
应用开发介绍(GCC)
GCC常用模式
GCC 编译连接模式 gcc hello.c -o hello GCC编译模式 gcc –c hello.c –o hello.o 多源文件编译 gcc -o test first.c second.c third.c
Jul 2008
16
开发环境建立(bootstrap源代码安装)
安装 bootstrap 下载从atmel网站 bootstrap 解压缩到windowsxp下 下载winarm 解压winarm缩到windowsxp下 设置的arm-elf-gcc路径到xp系统环境变量
Jul 2008
27
Hello world 编写实例 #include <stdio.h> int main(void){
printf(“hello world\r\n”);
}
arm-linux-gcc hello.c -o hello
bootstrap的编译(windowsxp工作站)
make clean make
Jul 2008
18
小结
硬件大致需求 软件大致需求 linux服务安装配置 arm-linux-gcc工具链的安装 linux 内核源代码的安装 u-boot源代码的安装 bootstrap源代码的安装 编译方法
Jul 2008
19
应用开发简介(GCC)
GCC简介 编译器 汇编器 连接器 调试器 库函数 头文件
Jul 2008
20
应用开发介绍(GCC)
GCC编译过程介绍 预处理
gcc –E hello.c –o hello.I 编译 gcc –S hello.i
Jul 2008
23
应用开发介绍(GDB)
GDB 使用注意: 编译时必须使用 -g 选项生成调试信息 GDB 命令: list: 列文件清单
run: 运行程序后可以根程序参数 break: 设置断点 break 3 设置第3行 delete breakpoint : 删除断点 disable breakpoint : 禁止断点 enable breakpoint :使能断点
Jul 2008
15
开发环境建立(u-boot源代码安装)
u-boot源代码安装 下载u-boot源代码 http://www.denx.de/wiki/Uboot u-boot-1.1.6.tar.bz2 下载u-boot的at91的补丁 解压u-boot 打入at91补丁 清除以前的配置 make distclean 配置 at91平台 make at91sam9261ek_config
/home/rootfs/ *(rw,no_root_squash,sync)
Jul 2008
10
开发环境建立(linux服务器配置)总结
上面的配置我们导出了两个目录 /home/kernel 目录 使用/etc/xinetd.d/tftp文件配置 /home/rootfs 目录 使用/etc/export文件配置
Jul 2008
2
Linux介绍
Linux是一个多任务, 多用户的操作系统。以其很好的稳 定性赢得了广大用户,并迅速发展成为操作系统中的主流,包 含内核、系统工具、完整的开发环境和应用集。
Linux操作系统特点:
开放性 多用户 多任务 良好用户界面
Jul 2008
24
应用开发介绍(GDB)
set variable: 将值赋予变量 print: 显示一个变量的值外 step : 单步运行 call : 调用函数 info files: 显示被调试文件的详细信息 info local: 显示当函数中的局部变量信息 info var: 显示所有的全局和静态变量名称