在Linux进行x86平台的应用程序开发
开发步骤
编辑源代码->编译->运行
在Linux上编辑源代码
使用前面讲到的vi工具即可;
编译代码
使用GCC工具;
* GCC是GNU Compiler Collection,GNU编译器套件;
* 除了可以编译C/C++语言的程序,还能编译Java等语言的程序;
* GCC的初衷是为GNU操作系统专门编写的一款编译器.
GCC的优势: 功能强大,稳定,开源免费;
gcc -v
:查看GCC的版本;gcc -o hello hello.c
:将hello.c编译为hello(可执行程序);./hello
:执行hello程序(注意不能直接hello
来运行,因为当前目录不在PATH里).
在Linux进行Arm平台的裸板程序开发
开发步骤
编辑源代码->交叉编译(使用arm-linux-gcc编译器)->烧写->运行;
编辑
- 使用Source insight软件查看编辑: c文件,h文件, ARM汇编文件;
- 在Option-> File Type Option->C source File-> 在File Filter中填写
*.c;*.h;*.S
,将C源文件的文件设置为这几种文件; - 在源文件所在目录,新建文件夹
SourceInsightPrj
,然后新建工程,工程目录选择SourceInsightPrj,工程名字任选; - 自动向该工程添加文件,选择所有的.c,.h, .S文件,点击Add;
- Options->Perferences->Files选项卡->最后的Default encoding选择
System Default(Window ANSI)
或Chinese Simplified(GB2312)
; - File->Reload As Encoding->选择
Chinese Simplified(GB2312)
; - 点击Project->Rebuild对工程进行组织,软件会对该工程的组织信息进行索引,以方便用户进行查找;
- 在Option-> File Type Option->C source File-> 在File Filter中填写
- 使用notepad++软件查看编辑:其他文件,如Makefile.
编译
使用arm-linux-gcc编译器进行编译,开源,免费,强大,支持芯片多,更新速度快;
烧写
使用EOP进行烧写;
第一个程序-LED流水灯
原理图-确定控制LED的引脚
芯片手册-如何控制芯片的相应引脚
- 设置引脚的功能为GPIO,并配置为输出: 设置GPFCON[9:8] = b'01;
- 设置该引脚的值: 设置GPFDAT[4]为0或1.
写程序
请看下一节(等着吧~)
JZ2440的启动方法:
从Nor Flash启动
Nor Flash大小为2MB, 当从Nor Flash启动时, Nor Flash的基地址被设置为0,(片内SRAM的地址为0x4000_0000), ARM芯片从Nor Flash开始读取第一条指令并执行,然后不断读取第2条,第三条等。
从Nand Flash启动
Nand Flash大小为256MB, 当从Nand Flash启动,片内SRAM的基地址被设置为0,(Nor Flash的地址不可用),然后硬件上把Nand Flash的前4KB的代码复制到片内SRAM,然后CPU从0地址读取命令,不断地读取执行