ARM--交叉编译器及开发板系统的安装

PC机是通用机算计系统
嵌入式针对于通用机算机

嵌入式cpu:x86\arm(裸机\带OS)

RISC:精简指令集(arm:ARM公司设计 )
CISC:复杂指令集(x86:Intel AMD公司生产)
nand/nor flash(闪存取代硬盘)

CPU中的存储器叫做寄存器

安装交叉编译器:arm-linux-gcc
1.进入arm-linux-gcc所在目录执行(先下载好arm-linux-gcc):
sudo tar zxvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz -C /opt

2.查看安装后所在目录
ls arm-linux-gcc

3.pwd复制所在路径
/opt/opt/FriendlyARM/toolschain/4.5.1/bin

4.cd 回车(回到home目录)

5.vi .bashrc
export PATH=$PATH:/opt/opt/FriendlyARM/toolschain/4.5.1/bin

6.source .bashrc(或关闭终端重新打开后生效)

例如:用c写一个hello.c
gcc -hello.c -o hello_x86
arm-linux-gcc hello.c -o hello_arm
file hello_x86/file hello_arm(比较两种文件类型)

反汇编:arm-linux-objdump -D +文件名(test.o)
arm-linux-objdump -D +文件名(test.o) -O3(优化)



制作系统盘(进入windows系统下):
1.先格式化SD卡
2.打开images目录双击SD-Flasher.exe
选择"Mini210/Tiny210"
选中"images/Superboot210.bin"
执行Scan
执行Fuse
3.最后把images文件夹拉入SD卡
回到ubuntu系统继续操作以下步骤:
安装ckermit:
sudo apt-get install ckermit
进入yzq/arm/1day/tools/安装kermit/
把_mykemrc拷贝到~目录下,改名成.mykermrc
修改.mykermrc的设备文件名:
台式机有串口的设备名设为"/dev/ttyS0"
笔记本没串口的用U转串,设备文件名设为"/dev/ttyUSB0",如果同时插了充电器,有可能是"/dev/ttyUSB1",你自己用命令ls /dev/ttyUSB*核对一下是哪个文件名。

sudo kermit(命令行模式)
c(connect连接)
Ctrl \,c回车,输入quit退出
(以上这些配置是为了给开发板装系统时能够看到现象)

将SD卡插入开发板,串口线接入COM0,选择SDBOOT方式启动
打开电源开始安装

安装minicom:
sudo apt-get install minicom
配置minicom:
sudo minicom -s
选择Serial port setup作如下配置:
A-(PC机选择/dev/ttyS0    笔记本改为/dev/ttyUSB0)
    +-----------------------------------------------------------------------+
    | A -    Serial Device      : /dev/ttyS0                                |
    | B - Lockfile Location     : /var/lock                                 |
    | C -   Callin Program      :                                           |
    | D -  Callout Program      :                                           |
    | E -    Bps/Par/Bits       : 115200 8N1                                |
    | F - Hardware Flow Control : No                                        |
    | G - Software Flow Control : No                                        |
    |                                                                       |
    |    Change which setting?                                              |
    +-----------------------------------------------------------------------+
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------+
回车保存退出
然后选择Save setup as dfl回车
选择Exit from Minicom回车

sudo minicom进入后回车 显示[root@FriendlyARM /]#
输入rx空格+要接收的文件名 然后回车
按Ctrl A,再按z,按s(发送文件)选择xmodem
进入到接收的文件所在目录(操作目录按两个空格,文件按一个空格,回车发送选中文件 例如:hello_arm)
修改权限:例如chmod 777 hello_arm
然后即可执行:例如./hello_arm(打印出hello world)

ls --verbose    (查看默认链接脚本)

---开发板无系统--裸机:
1.将SD卡插入PC机(没有16字节的校验和)
进入文件所在目录:
cd nfs/arm/1day/tools/uboot/
./dd.sh(烧写Uboot到开发板)
然后将SD卡插入开发板
进入程序所在目录 终端执行sudo kermit,按c
使用SDBOOT方式启动
loadb (+指定地址)
Ctrl \,c
send app.bin
c
go +地址(开始执行)
复位后
go +地址
若是关闭开发板重新启动,则需重新下载send app.bin

2.将SD卡插入PC机(需每次都要烧写可执行文件到SD卡,然后再用SDBOOT方式启动开发板,程序自动执行)
(有16字节的校验和)
进入到arm/3day/gpio/执行以下命令:
make clean
make
make burn(将可执行文件烧写到SD卡,SD卡插入到开发板上SDBOOT方式启动程序自动执行)
//现象:终端上用sudo kermit看不到现象


==========================================================================================
Nand程序执行流程:(程序在7day里面)
========================================
|   PC         串口          arm      |
|加载led.bin    ---->    内存  -->  Nand|
========================================

进入程序所在目录,编译后执行sudo kermit,c
loadb
send bin/led.bin
c
nand erase 0xff80000 0x1000
md 0x30000000    (md:memory display)
nand read 0x30000000 0xff80000 0x1000
nand write 0x21000000 0xff80000 0x1000
go 0x21000000
==========================================
以下是用自己写的bootloader启动开发板的过程:
进入程序所在目录,编译后执行sudo kermit,c
loadb
send app-sd.bin
nand erase 0 0x8000(32K)
nand write 0x21000000 0 0x8000
最后,关闭开发板,以NAND方式重新启动开发板


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,arm-linux-gnueabihf-gdb 和 arm-linux-gnueabihf-gdbserver 是针对 ARM 架构的 GDB 和 GDBServer,因此需要在开发机器上交叉编译生成。以下是具体的步骤: 1. 下载 GDB 和 GDBServer 源码包。可以从官网下载最新的稳定版本,也可以使用系统包管理器直接安装。 2. 安装交叉编译工具链。通常情况下,ARM 架构的交叉编译工具链已经被打包好了,可以通过系统包管理器直接安装。如果没有找到对应的包,可以从交叉编译工具链官网下载,然后解压到指定目录。 3. 配置交叉编译工具链的环境变量。将交叉编译工具链的 bin 目录添加到 PATH 环境变量中,并设置 CC 和 CXX 环境变量为对应的编译器。 4. 配置 GDB 和 GDBServer 的编译选项。通常情况下,可以使用 configure 脚本生成 Makefile 文件,然后执行 make 命令进行编译。在 configure 脚本中,需要指定交叉编译工具链的前缀,例如:--host=arm-linux-gnueabihf。 5. 编译 GDB 和 GDBServer。执行 make 命令进行编译。编译完成后,会在源码目录下生成 gdb 和 gdbserver 可执行文件。 6. 将可执行文件移植到开发上。可以使用 scp 命令将可执行文件复制到开发上,也可以将可执行文件打包成 tar 包,然后在开发上解压缩。 7. 在开发上运行 GDBServer。执行 arm-linux-gnueabihf-gdbserver 命令,在开发上启动 GDBServer。注意,需要指定端口号和可执行文件的路径,例如:arm-linux-gnueabihf-gdbserver :1234 /path/to/executable。 8. 在开发机器上运行 GDB。执行 arm-linux-gnueabihf-gdb 命令,在开发机器上启动 GDB。注意,需要指定交叉编译后的可执行文件路径和开发的 IP 地址以及端口号,例如:arm-linux-gnueabihf-gdb /path/to/executable target remote 192.168.1.100:1234。 以上是大致的编译和移植步骤,具体的细节可能因为不同的环境而有所不同,需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值