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方式重新启动开发板
嵌入式针对于通用机算机
嵌入式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方式重新启动开发板