第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 然后重启再次较准);

关键字:开发板  熟悉  体验 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic492291.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:第005课 linux进阶命令(文件查找,文件解压操作详解)
下一篇:第007课 裸机开发步骤和工具使用(SourceInght NotePad++使用)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

ARM与FPGA沟通的桥梁—米尔PYNQ开发板
Python库和FPGA硬件库进行功能的开发,快速高效。 为适应市场需求发展,米尔近期基于热销的Z-turn Board 推出了PYNQ版本,全面支持PYNQ开发。 Z-Turn Board 是米尔科技Zynq7000平台的力作,设计特征鲜明,即是核心板又是开发板,易开发且易嵌入应用产品,性价比高,已大量应用于工控,IOT,视觉等领域。此次Z-Turn Board升级PYNQ版本后,将为人工智能,ADAS,机器视觉等领域的开发者带来福音。  Z-TURN PYNQ开发例程: Python人脸识别    
发表于 2020-03-25
ARM与FPGA沟通的桥梁—米尔PYNQ开发板
tiny4412开发板icache操作程序
首先,来介绍关于cache的概念。cache的作用:基于程序访问的局限性,在主存和CPU通用寄存器之间设置了一个高速的、容量相对较小的存储器,把正在执行的指令地址附近的一部分指令或数据从主存调入这个存储器,供CPU在一段时间内使用,这对提高程序的运行速度有很大的作用。这个介于主存和CPU之间的高速小容量存储器称作高速缓存存储器(Cache)。启用Cache后,CPU读取数据时,如果Cache中有这个数据的复本则直接返回,否则从主存中读入数据,并存入Cache中,下次再使用(读/写)这个数据时,可以直接使用Cache中的复本。启用Cache后,CPU写数据时有写穿式和回写式两种方式。(1)写穿式(Write Through)任一从CP
发表于 2020-03-25
tiny4412开发板的串口介绍与操作
UART原理说明:通用异步收发器简称UART,即"Universal Asynchronous Receiver Transmitter",它用来传输串行数据:发送数据时,CPU将并行数据写入UART,UART按照一定的格式在一根电线上串行发出;接收数据时,UART检测另一根电线上的信号,将串行收集放在缓冲区中,CPU即可读取UART获得这些数据。UART之间以全双工方式传输数据,最精简的连线方法只有三根电线:TxD用于发送数据,RxD用于接收数据,Gnd用于给双方提供参考电平,连线如图1所示:图1. UART连线图UART使用标准的TTL/CMOS逻辑电平(0~5V、0~3.3V、0~2.5V或0~1.8V四种
发表于 2020-03-25
tiny4412开发板的串口介绍与操作
tiny4412开发板GPIO试验
中,然后插入到开发板的SD卡槽中,设置启动模式,然后开启电源运行。把SD卡接入读卡器,让VMware软件位于窗口最前面,然后把读卡器接入电脑。点击VMware菜单"VM"->"Removable Devices",找到新出现的USB存储设备,点击"Connect"。注意:如果菜单里没有新的设备出现,原因是VMware的USB服务未启动。可用以下方式启动:打开"控制面板"->"系统和安全"->"管理工具"->"服务",找到"VMware USB
发表于 2020-03-25
tiny4412开发板GPIO试验
STM32F429 自制开发板
上次讲到自制了F407开发板,用下来都不错,但是有个遗憾就是407没有LTDC,最近一直在研究液晶屏,着了迷一样,研究了一圈,觉得F429是最好的选择,网上的开发板价格都较贵,关键是好多都没有引出LTDC接口,决定自制一块开发板自带LTDC+SDRAM。原理图F429的原理图不像407,网上的资源不多,基本上和F407的相类似,LTDC和SDRAM的引脚就要当心了,一定要按照CUBEMAX分配的引脚来对应,Cubemax的分配引脚有时候会变动,要格外注意!SDRAM 选的是W9825G6KH, 256Mbit, 32MBytePCB 布线这个对于双面板来说确实有点难,死了不少脑细胞。原则是SDRAM和f429之间的连线尽量短,还要
发表于 2020-03-15
STM32F429 自制开发板
MSP430学习笔记2-跑马灯程序,熟悉定时器寄存器的配置
这个例子主要还是熟悉有关定时器A的寄存器配置以及IAR的配置方式。/***********************************************程序功能:实现流水灯以三种流动方式和四种流动速度          的不同组合而进行点亮"流动"------------------------------------------------拨码开关设置:将LED位拨至ON,其余拨至OFF测试说明:观察流水灯流动顺序和速度的变化************************************************/#include 
发表于 2020-02-02
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved