历史上的今天
返回首页

历史上的今天

今天是:2025年03月20日(星期四)

正在发生

2020年03月20日 | 第006课 开发板熟悉与体验

2020-03-20 来源:eefocus

第001节_开发板接口介绍与串口连接

在前面的视频里,我们涉及四个接口,两个开关。


四个接口:电源接口、USB串口、USB下载口、JTAG下载口;


两个开关:电源开关、启动选择开关;


分别对应下图中的1、8、6、7、1、11;

这里写图片描述

我们买开发板的目的就是把电脑上编写编译好的程序烧写到板子上验证学习。因此开发板上一定有个烧写口,例如JTAG烧写口。但电脑上是不会有这个JTAG口的,因此需要一个USB烧写器将两者连接,例如Jlink、OP/EOP。Jlink本来用的人很多,但随着版权意识的提高以及Jlink公司对盗版的打击,Jlink现在用得越来越少了。EesyOpenJtag是OpenJtag的便宜版本,他和我们的开发板是绝配,他可以直接烧写Nand Flash和Nor Flash,操作简单,价格便宜。


对于程序员来说,我们程序都是三分写,七分调,调试非常重要。对于我们电脑,我们可以在屏幕上显示,对于我们开发板,我们可能连显示屏都没有,并且屏幕的操作比较复杂,不太适合用于调试。那我们这里就需要一个比较简单的设备提供调试信息——串口。通过串口,可以把PC上的数据传到开发板,开发板也可返回数据。开发板的串口,不能直接与电脑的USB相连,中间需要一个串口转USB的芯片,这个芯片集成到了开发板上,因此可以直接使用USB线将电脑与开发板连接进行通信。


现在再说一下烧写,我们之前说可以通过Jtag进行烧写,它非常的可靠,当我们板子变成了砖头的时候,可以使用Jtag进行烧写,但他的速度很慢。当我们烧写很大程序的时候,会崩溃的。因此我们可以借助USB口进行烧写,前提是板子上已经运行有一个程序,这个程序用来支持USB下载


接电源,按下开关;

使用串口(USB串口)观察信息;

使用JTAG(USB烧写器)烧写程序;

如果板上程序支持USB下载,可以使用板子的USB Device连接电脑下载;

启动选择开关;

对开发板上电启动,出厂的时候默认烧写一个Linux系统。我们上电后可以看到Linux的企鹅图标,然后自动启动Qt。


再将开发板的串口与电脑相连,自动/手动安装好串口驱动后,使用MobaXterm软件的Serial功能,即可通过串口 

输入Linux命令。


连接示意图如下:

这里写图片描述

第002节_使用eop烧写裸板程序

烧写裸板程序,需要用到的软件是oflash.exe,使用到的硬件是op/eop(easy open Jtag),以及相应的驱动程序。 

操作步骤如下:


eop连接到PC;

安装驱动;

安装APP;

开发板的排线连接到eop,eop的USB接口连接到电脑;

执行:oflash xxx.bin

开发板断开eop,eop的USB接口最好也断开电脑;

设置从Nor/Nand启动;

重新上电;

第003节_eop常见问题

eop常见问题通常有如下7个,我们可以根据oflash的提示信息,来大致判断是何种情况导致的问题。


未连接op/eop到电脑;

有其他程序在使用op/eop (同一时间只能有一个程序使用它);

jtag线未接;

开发板未上电;

oflash xxx.bin 时当前目录下没有xxx.bin;

烧写完后没有正确设置启动开关;

烧写完后,op/eop与开发板之间的排线未断开, 导致程序无法运行;


当oflash显示unable to open ftdi devive:2, 

则可能是未连接op/eop到电脑和有其他程序在使用op/eop。


当oflash显示Description: USB<=>JTAG&RS232 ANo CPU detectred, cupID = 0xffffffff, 

则可能是Jtag线未接。


当oflash显示Description: USB<=>JTAG&RS232 ANo CPU detectred, cupID = 0x00000000, 

则可能是开发板未上电。


当oflash显示ERROR: can't find the file : xx.bin., 

则可能是当前路径下没用xx.bin,应该使用绝对路径或者复制到指定目录再切换到该目录。


当烧写好程序后,开发板上电后却没有运行, 

则可能是没有正确设置启动开关或者是op/eop与开发板之间的排线未断开, 导致程序无法运行。


第004节_使用uboot烧写裸板程序

在前面,使用eop烧写一个200多k的uboot时,耗费了几分钟,这速度实在太慢了,在后续的开发过程中,我们的程序可能有许多错误,需要反复修改烧写,如果继续用eop将会浪费很多时间。那么有没有更快的烧写方式呢?有的,我们用uboot进行烧写。


在2440上面,有两种flash:Nand Flash和Nor Flash。我们可以首先把uboot烧到Nor Flash,然后Nor启动运行uboot,使用uboot的USB下载功能接收PC传来的文件,然后uboot将收到的文件烧写到Nand Flash,最后Nand启动,启动我们烧写的程序。


操作步骤如下:


使用op/eop把u-boot.bin烧到nor flash;

开发板设置为nor启动, 上电后马上在串口输入空格键,使板子进入UBOOT而不是启动板子上的内核;

连接PC与开发板的usb device口,如果没有驱动,安装驱动;

在UBOOT的串口菜单中输入n (表示接收USB文件并烧写到NAND);

使用dnw_100ask.exe发送bin文件;

uboot即会自动接收、烧写bin文件;

断电、设为NAND启动、上电:运行nand上烧好的程序;

第005节_恢复出厂系统

开发板买来就是学习的,就是用来“破坏的”,不要担心上面的东西被破坏,因为我们有办法恢复出厂系统。 

我们先对比PC看看出厂系统有哪些东西: 

这里写图片描述

可以看到我们的东西都放在Flash上面,对于我们的JZ2440,有256M的Nand Flash和2M的Nor Flash,所以我们内核、根文件系统那么多的文件,应该是放在Nand Falsh。Nand Falsh内部数据分布如下: 

这里写图片描述

其中bootloader既可以在Nand Flash也可以在Nor Flash,params的变量存储有uboot的参数信息。


恢复出厂系统的具体步骤如下:


使用op/eop烧写u-boot到nor/nand, 设置为nor/nand启动;

上电与开发板的usb device口; 安装驱动;

下载内核: 在UBOOT的串口菜单中输入k;

使用dnw_100ask.exe发送uImage文件;

uboot即会自动接收、烧写uImage文件;

下载文件系统: 在UBOOT的串口菜单中输入y;

使用dnw_100ask.exe发送 fs_qtopia.yaffs2 文件;

uboot即会自动接收、烧写根文件系统;

. 输入q退出UBOOT串口菜单, 执行命令删除参数分区: nand erase params;

. 重启(对于QT文件系统,第一次重启时会要求你较准触摸屏); 

(如果触摸不准,可以等系统启动后在串口执行:rm /etc/pointercal 然后重启再次较准);

推荐阅读

史海拾趣

Codeco Corporation Of Vermont公司的发展小趣事

在追求商业成功的同时,Codeco也积极履行企业社会责任。他们注重环保和可持续发展,在生产过程中采用环保材料和技术,减少对环境的影响。此外,Codeco还积极参与公益事业,为社会做出贡献。这些举措不仅提升了公司的社会形象,也赢得了员工和消费者的尊重与认可。


您可以根据这个框架,结合您对电子行业和Codeco Corporation Of Vermont的了解,撰写具体的故事内容。请注意,这些故事应基于事实或合理的推测,避免涉及未经证实的信息或夸大其词的描述。

ERP公司的发展小趣事

随着云计算和大数据技术的兴起,电子智链在2010年代初期开始了技术转型。公司投入大量资源研发基于云计算的ERP系统,并在2015年成功推出“云链”系列产品。这一产品迅速受到市场的欢迎,电子智链的客户群迅速扩大,不仅涵盖了中小型企业,还吸引了众多大型电子集团。同时,公司也在国际市场上积极扩张,与多家海外企业建立了合作关系。

ABI Electronics公司的发展小趣事

随着业务的不断发展和产品的不断升级,ABI Electronics公司的品牌影响力也逐渐提升。其产品在市场上获得了良好的口碑和声誉,成为了电子行业内的知名品牌。同时,ABI还积极参与行业内的交流和合作,为行业的发展做出了积极的贡献,进一步提升了其在行业内的地位和影响力。

这五个故事展示了ABI Electronics公司在电子行业里的发展历程,从电路板测试技术的突破,到集成电路测试技术的创新,再到全球市场布局和合作伙伴关系的建立,以及研发实力的持续增强和品牌影响力的提升,都体现了ABI Electronics公司不断进取、不断创新的精神。

ESPROS [Espros Photonics corp]公司的发展小趣事

ESPROS的ToF传感器技术已成功应用于多个领域,包括无人机飞行避障及定高、人机交互和手势识别、机器人定位和智能导航、人体检测和物体探测、工业自动化以及汽车自动驾驶等。这些应用不仅展示了ESPROS技术的广泛适用性,也证明了其在光电传感器领域的强大实力。

General Industrial Controls ( GIC )公司的发展小趣事
优化PCB布局和走线,减少信号干扰和电磁辐射。例如,将反馈线远离电感器,使用地线屏蔽或单点接地等方式来降低噪声和干扰。
Cables To Go公司的发展小趣事

随着电子设备的普及和互联网的发展,Cables To Go公司看到了巨大的市场潜力。公司积极拓展销售渠道,通过线上电商平台和线下实体店相结合的方式,将产品销往全国各地。此外,公司还积极开拓国际市场,与多个国家和地区的代理商建立了合作关系,进一步扩大了市场份额。这种跨越式的市场拓展策略为公司的快速发展奠定了坚实的基础。

问答坊 | AI 解惑

火灾报警远程  锁定火灾地点只三秒

常熟火灾自动报警远程监控中心昨天启用,在一间一百多平方米的监控室里,借助远程视频监控系统,接警人员只需短短3秒钟,就能迅速掌握联网单位的消防安全情况。常熟是继太原之后的全国第二家使用这一火灾报警系统的城市。      ...…

查看全部问答>

【ATMEL技术问题】关于KEIL下AT91R40008启动代码问题

用KEIL 软件建立一个工程,自动生成一个启动代码STartup.S ; 但是问题来了,这个代码有点不知所云,编译出错哦啊,请大侠指点!下面是代码 /*****************************************************************************/;/* STARTUP.S: Start ...…

查看全部问答>

菜鸟提问:SHBrowseForForlder()不能用,怎么代替

我是个初学者,我这个平台不能使用SHBrowseForForlder()这个方法,想找另外一个方法来代替SHBrowseForFolder,达到相同的效果, 或者可以不用打开浏览文件夹着个对话框,直接可以保存文件到指定目录也可以。劳驾各位帮忙啊…

查看全部问答>

请教一个evc编译器的问题

evc的directories 设置多行的时候(7行).会自动清空..这个是什么原因,怎么解决呢? …

查看全部问答>

关于pc104总线驱动的制作

小弟刚刚做了一块基于pc104总线的DA板卡,但是现在要与基于pc104总线的3350主板进行交互,主要是对pc104总线的数据进行读取,需要制作驱动,小弟第一次开发,有那位大侠能够给一个例子或其他的资料,多谢…

查看全部问答>

在NXP可以申请LM拉!

找PDF居然发现这个好玩的…

查看全部问答>

【课后练习】LaunchPad课后练习七之定时器

课后练习七之定时器   (定时器看起来简单,却搞了好久,和之前的430定时器不太一样,看了很多次,还有很多没弄出来的地方,有几个地方还是没懂) 1.TIMER_A由以下部分组成 [1] 计数器部分 输入的时钟源具有4种选择,所选择的时钟源又可 ...…

查看全部问答>

LM3S管脚不能被程序设置为高,背光灯不能点亮

最近受打击不小,这是第三块板子了,还是有问题需要向大家求助。 开发环境概况: MCU:    LM3S5C56 Rev A2, 512 KB flash 64KB SRAM, 64 LQFPJ-LINK: V8, DLL version是最新 V4.52cIAR:        Embedded ...…

查看全部问答>