Linux裸机开发学习笔记(三)

Linux裸机开发学习笔记(三)

韦东山裸机开发教程学习笔记
(使用arm开发板-S3C2440)

八、S3C2440开发板熟悉和体验
1、使用板子步骤
(1)接电源,按下开关
(2)使用串口(USB串口)观察信息
(3)使用JTAG口(烧写器)烧写程序
(4)如果板子上程序支持USB下载,板子的USB Device连接PC USB口
(5)启动选择开关—选择Nor 启动或者Nard启动

2、串口登录工具的使用
(1)点击MobeXterm的Session,在弹出页面点击Serial
(2)在Serial port选择对应的COM口,Speed设置115200
(3)设置Advanced Serial settings
在这里插入图片描述

3、JTAG烧写程序
(1)软件是oflash.exe,可以烧写所有的bin文件
  a)v-boot.bin—可以烧写到Nor flash或Nard flash中,从0地址开始烧
  b)led.bin等—只能烧到Nard flash,从0地址开始烧
(2)硬件是op/eop

4、JTAG口烧写裸板步骤
(1)eop连接pc机
(2)安装烧写器驱动
(3)安装OPEN JTAG app
(4)开发板连接eop
(5)切换程序所在盘幅,在命令提示符里面打开程序所在目录(cd 目录名),
(6)执行:oflash xxx.bin
(7)断开烧写器与开发板(排线有复位引脚)
(8)设定相应的启动,Nor或者Nard启动
(9)重新上电

5、eop常见问题
(1)未连接op/eop到电脑
(2)有其他程序在使用op/eop(同一时间只能有一个程序使用它)
(3)JTAG线未连接
(4)开发板未上电
(5)oflash xxx.bin时当前目录没有xxx.bin程序
(6)烧写完后没有正确设置启动开关
(7)烧写完后,op/eop与开发板之间的排线未断开,导致程序无法运行

6、使用uboot,通过USB下载,烧写bin文件
(1)使用op/eop把uboot.bin烧写程序到Nor-flash
(2)开发板设置为Nor启动,三秒内在串口登录软件按下空格,使板子进入uboot,而不是进入内核。
(3)用第二个USB串口线,连接PC和usb drive口,安装对应驱动
(4)在串口工具菜单中输入n,表示接受USB文件并烧写到NAND
(5)打开DNW软件,选择想烧写的bin文件,并发送
(6)uboot收到文件后,烧写到Nand flash
(5)断电,设置板子为Nard启动,重新上电后,运行Nard上烧写的程序

7、恢复出厂系统
(1)操作系统的启动过程
  a)pc机:BIOS启动windows操作系统,windows识别挂载c盘,进而运行各种app
  b)嵌入式Linux:bootloader(u-boot最广泛)启动Linux内核,内核挂载根文件系统(内含app)
  c)PC机的BIOS,windows,c盘都在硬盘里面。
  d)Linux的BootLoader,Linux内核,根文件系统在FLASH里
  e)JZ2440有Nor flash(2Mb)和Nard flash(256Mb)
(2)恢复出厂系统
  a)烧写u-boot到Nor flash或Nard flash(使用op/eop烧写),设置对应的Nor 或Nard 启动
  b)上电后在串口登录工具立马输入空格,使板子进入u-boot,而不是启动板子的内核
  c)连接pc到开发板的usb driver口,安装驱动
  d)下载内核,在uboot串口菜单输入k
  e)使用dnw软件发送uImage文件
  f)uboot自动接收,烧写uImage文件
  d)下载根文件系统,在uboot串口菜单输入y
  e)使用dnw软件发送fs_qtopia.yaffs2文件
  f)uboot自动接收,烧写根文件系统
  d)输入q,退出串口菜单,执行删除参数分区命令nand erase params,使用默认参数
  c)重启板子(并校准触摸屏),如果触摸不准,开机好在串口执行rm/etc/pointercal,然后重启

8、嵌入式开发的ping问题
(1)PC机使用网卡A来连接开发板,VMware就要使用同一个网卡A作为桥接
(2)设置三者IP处于同一网段
  a)windows网卡A的IP
  b)VMware里ubuntu的IP
  c)开发板的IP(u-boot和Linux两种)
  d)u-boot设置IP:set ipaddr xxx.xxx.xxx
  e)Linux设置IP :if config ethv xxx.xxx.xxx
(3)注意
  a)PC机上多网卡A、B不能设置同一网段
  b)开发板烧写新的u-boot

9、裸机开发步骤
(1)X86平台、windos应用程序
  a)建立工程
  b)编辑代码
  c)编译:VC6.0
  d)运行
(2)x86平台、ubuntu应用程序
  a)编辑
  b)编译:gcc
  c)运行
(3)ARM裸机开发
  a)编辑源代码
  b)编译:使用arm-linux-gcc(交叉编译模式)
  c)烧写
  d)运行
(4)gcc编译器:全称GNU编译套件,可以编译C语言、C++、Java等语言
  a)使用gcc的原因:功能强大、稳定、开源免费
  b)gcc -v 查看版本号,从而验证了gcc编译器的正常
  c)使用格式gcc -o 输出文件 源文件(o是output的缩写)
(5)交叉编译
  a)通常编译嵌入式程序的平台称为宿主机(PC机的ubuntu系统,CPU架构为X86)
  b)运行嵌入式程序的平台称为目标机(如:某款ARM开发板,CPU架构为ARM架构)
  c)在x86平台编辑并用编译器arm-linux-gcc编译ARM架构的程序
  e)上述两者属于不同架构平台,从而属于交叉编译模式
  f)再将程序烧写到ARM开发板中(下载方式:JTAG、USB、SD卡、网络等多种方式)
  g)然后开发板运行该程序

10、编辑器和编译器
(1)推荐使用windows平台的source insight和notepad
  a)source insight:查看代码、编辑代码等功能非常好用
(2)推荐使用arm-linux-gcc
  a)arm-linux-gcc是基于linux平台的arm编译器,开源免费
  b)功能强大、稳定、支持arm芯片众多、更新速度快
(3)入门误区:编译器使用ads、MDK
  a)ads(停止更新)、MDK是windows平台的编译器,功能较弱
  b)只适合于个人或者小团队的开发,不适合于中型、大型的协作开发
  c)是收费软件
(4)source insight:c文件、h文件、arm汇编文件
(5)notepad:负责其他文件,如Makefile(理解为:指明了要编译哪些文件、指定汇编后的输出文件)

11、source insight介绍
(1)source insight是收费软件,但可以免费使用35天
(2)推荐版本:3.5
(3)安装包:百度安装source insight 3.5
(4)使用步骤
  a)增加文件类型:options->documents options中,将c source file的设置为,*.c ;*.h ;*.S
  b)新建项目(新建工程)project->new project,将相应文件添加该项目中
  c)字体的设置(解决中文乱码):文档选项将字体该问宋体、常规、12,中文GB2312
  d)使用alt +F12 调整字体的等宽
  e)source insight的窗口:项目窗口、主窗口、符号窗口、上下文窗口
  f)显示行号,view设置line number
  g)快速切换行号:使用go to line跳转
  h)高亮关键词:点击关键词,鼠标右键,高亮关键词
  i)查看函数定义:点击函数,鼠标右键jump to defintion跳转过去(或者Ctrl+鼠标左键)
  j)go back(alt+,)回到上一次光标所在位置,或使用工具栏左箭头
go forward(alt+.)回到下一次光标所在位置,后者右箭头
  k)查找:search选择lookup reference(或用Ctrl+/)
或者点击查找的内容右击鼠标选择查找

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值