韦东山嵌入式Linux学习笔记-3-上手玩开发板
本笔记默认你已经初步掌握了stm32单片机的知识。
任何开发板的最小系统;
除此之外,还可能有电源LED,用户LED,复位RST按键等.
使用EOP通过JTAG口烧写板子
安装EOP驱动
插上开发板,安装Easy-OPenJtag的驱动,去开发板资料->烧写工具->裸机->eop&op->eop_op调试工具
目录下手动搜索安装驱动.
如果没办法安装, 你需要百度搜索"windows 10 禁用驱动强制签名".
然后安装01.OpenOCD with GUI setup.exe
,在Windows中的CMD命令行敲入oflash来验证是否安装成功,如果没有找到,则需要手动将oflash.exe所在路径添加到PATH
环境变量;
这样就可以烧写所有的.bin程序:
烧写到哪里呢?
u-boot.bin 可以烧写到NAND/NOR FLASH;
其他裸板程序如led.bin
必须烧写到NAND FLASH;
板子上有一个开关,可以实现启动位置的切换;
烧写裸板程序leds.bin查看流水灯
在windows 10的CMD命令行中,输入以下:
oflash leds.bin
将leds.bin
烧写到板子上;- 按
0
选择OpenJTAG; - 按
1
选择S3C2440; - 按
0
选择Nand Flash Prog; - 按
0
确定烧写Nand Flash; - 按
0
烧写到Nand Flash的第0个块(对应的Nand Flash地址为0); - 烧写完成后,把开关切换到Nand启动,把EOP线拔掉,按红色按钮断电后重新上电.
烧写裸板程序lcd_3.5_4.3.bin查看LCD程序
在windows 10的CMD命令行中,输入以下:
oflash lcd_3.5_4.3.bin
将lcd_3.5_4.3.bin
烧写到板子上;- 按
0
选择OpenJTAG; - 按
1
选择S3C2440; - 按
0
选择Nand Flash Prog; - 按
0
确定烧写Nand Flash; - 按
0
烧写到Nand Flash的第0个块(对应的Nand Flash地址为0); - 烧写完成后,接上串口线,把开关切换到Nand启动,把EOP线拔掉,按红色按钮断电后重新上电.
- 打开串口软件MobaXterm, 打开Prolific对应的串口,按空格开始测试程序;
烧写裸板程序uboot.bin查看LCD程序
在windows 10的CMD命令行中,输入以下:
oflash uboot.bin
将uboot.bin
烧写到板子上;- 按
0
选择OpenJTAG; - 按
1
选择S3C2440; - 按
0
选择Nor Flash Prog; - 按
0
确定烧写Nor Flash; - 按
0
烧写到Nor Flash的第0个块(对应的Nor Flash地址为0); - 烧写完成后,接上串口线,把开关切换到Nor启动,把EOP线拔掉,按红色按钮断电后重新上电.
- 打开串口软件MobaXterm, 打开Prolific对应的串口,按空格开始测试uboot命令;
使用uboot通过USB下载烧写较大的bin文件
- 使用uboot烧写Nor Flash:
- 板子接上EOP, EOP连接电脑;
- 开发板上电;
- 打开CMD, 运行
oflash u-boot.bin
以烧写u-boot.bin,选择烧写Nor Flash;
- 烧写bin文件到Nand Flash:
- 断电,设置Nor启动,连接串口,打开串口软件;
- 板子上电后马上在串口软件中敲空格,进入Uboot,防止在倒计时结束后进入Linux系统;
- 将板子上的USB device端口和PC连接,然后找到
烧写工具->uboot 内核 文件系统->dnw->windows版
,双击zadig-2.e.exe,选择SEC S3C2410X Test B/D
,然后选择安装libusb-win32(v1.2.6.0)
,点击Install Driver
. - 在串口工具中,输入
n
,选择Download u-boot to Nand Flash
; - 在上面的目录中,双击运行
dnw_100ask.exe
,点击USB Port->transmit
,选择leds.bin
;
- 断电,使用Nand启动,重新上电,板子开始运行裸板bin文件
恢复出厂系统
- Linux启动时: BootLoader->启动Linux内核->启动APP.
- 要重新烧写出厂系统,需要:
- 烧写u-boot到Nand Flash或Nor Flash:使用op/eop烧写,烧写完成后使用Nand/Nor启动;
- 烧写Kernel到NandFlash:u-boot的串口菜单按
k
选择Download Linux kernel uImage
, 使用dnw.exe烧写bin->linux->uImage->uImage_4.3
文件; - 烧写根文件系统:u-boot的串口菜单按
y
选择Download root_yaffs image
, 使用dnw.exe烧写bin->文件系统->fs_qtopia.yaffs2
文件; - (可选)删除params,以使用默认的params: 先按
q
退出u-boot的串口菜单(按menu
可重新进入),输入mtd
查看分区,输入nand erase params
擦除分区,重新上电; - (可选)如果板子上的linux系统点击不准确,在串口工具里执行
rm /etc/pointercal
删除指针文件,然后执行reboot
重启Linux嵌入式系统.
使用网络对开发板进行烧写
配置网络,确保开发板上(串口工具)可以ping通PC和虚拟机
- 确定开发PC使用哪个网卡(A)来连接开发板以太网端口;
- VMWare选择网卡(A)作为桥接网卡;
- 设置三者的IP处于同一网段: Windows 网卡A的IP; VMWare里Ubuntu的IP; 开发板的u-boot的IP: 在串口工具里
print
打印当前ipaddr信息;set ipaddr 196.128.1.***
,save
即可;开发板的Linux的IP设置方法,
出厂的u-boot可能没有默认打开网络连接功能,需要烧写网络功能默认打开的u-boot,查看uboot是否打开了网络功能需要在串口工具里看到
U-Boot 1.1.x enable Ethernet alltime...
字样.
烧写
set serverip [PC's IP]
,save
;- 打开资料里的
tftpd32.exe
,选择服务器,即PC的ip;选择要烧写的bin所在的目录; tftp 30000000 uImage
下载uImage以烧写kernel.