韦东山嵌入式Linux学习笔记4-裸板程序开发

在Linux进行x86平台的应用程序开发

开发步骤

编辑源代码->编译->运行

在Linux上编辑源代码

使用前面讲到的vi工具即可;

编译代码

使用GCC工具;
* GCC是GNU Compiler Collection,GNU编译器套件;
* 除了可以编译C/C++语言的程序,还能编译Java等语言的程序;
* GCC的初衷是为GNU操作系统专门编写的一款编译器.

GCC的优势: 功能强大,稳定,开源免费;

  1. gcc -v :查看GCC的版本;
  2. gcc -o hello hello.c :将hello.c编译为hello(可执行程序);
  3. ./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对工程进行组织,软件会对该工程的组织信息进行索引,以方便用户进行查找;
  • 使用notepad++软件查看编辑:其他文件,如Makefile.

编译

使用arm-linux-gcc编译器进行编译,开源,免费,强大,支持芯片多,更新速度快;

烧写

使用EOP进行烧写;

第一个程序-LED流水灯

原理图-确定控制LED的引脚

芯片手册-如何控制芯片的相应引脚

  1. 设置引脚的功能为GPIO,并配置为输出: 设置GPFCON[9:8] = b'01;
  2. 设置该引脚的值: 设置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地址读取命令,不断地读取执行

原文地址:https://www.cnblogs.com/charleechan/p/11944529.html