首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
用户1615276
修改
文章:
67
阅读:
154519
评论:
36
赞:
520
好友
私信
个人主页
文章
67
原创
0
阅读
154519
评论
36
赞
520
原创
32位ARM嵌入式处理器的调试技术
2008-10-26 18:43
2636
8
8
分类:
MCU/ 嵌入式
国内测控系统开发大多是几个人以小组的形式根据不同的项目组织在一起,由于缺乏一个稳定工作的硬件基础,整个开发工
作的重点大都放在调试硬件故障上。首先,所有项目的开发几乎全部使用汇编语言,严重影响了程序的可读性和可移植性,更换不同的处理器就意味着一切从头开
始,就连使用相同处理器的不同项目组之间的程序重用也很困难;而对于嵌入式应用系统应着重解决的实际问题往往无暇顾及,非常不利于我国嵌入式应用水平的提
高。其次,测控系统通信接口种类比较少, 多为传统的RS232、RS485接口,数据交换速度慢,已经不能满足日益增长的数据传输需求。另外,传统的8
位单片机已经越来越不能适应日渐复杂的应用需求;友好的交互界面、网络互连功能、智能化的软件、实时的数据处理几乎成了现代实时测控系统的共同需求。
我们开发了基于ARM内核处理器的NetCARM7开发板,通过在嵌入式实时多任务操作系统ìC/OS-Ⅱ上加入Interniche公司的嵌入式
TCP/IP协议栈实现了一个网络化、智能化、高性能的现代实时测控系统开发平台。此外,通过JTAG在线调试工具
BDI2000 RDI for ARM和集成开发环境IAR EW的结合,大大提高
了程序调试的效率。
1 平台设计
ARM内核处理器具有高性能、低功耗、低成本、低开发难度等一系列优点,是测控系统由8位机升级到32位机的理想选择。此外,ARM7、ARM9、ARM10、XScale的指令兼容,已有的软件资源和开发经验不会由于升级到更高性能的处理器而受到巨大的损失。
(1)平台的硬件基础
我们开发了NetCARM7开发板(处理器为Atmel公司的ARM7TDMI内核的AT91M40800,主频可达40 MHz)作
为中低端实时测控系统开发平台的硬件基础。AT91M40800性能已经可以满足一般测控系统的各种需求,功能简单易用,双面板就可以形成稳定硬件设计,
大大降低了开发成本。板上将处理器的所有引脚引出,可以根据实际的项目需求灵活地扩展出新的应用;集成了多达2 MB
的 SRAM,保证用户代码可以获得最高的性能。1 MB Flash ROM用来满
足绝大多数项目的需求。板上预留了JTAG端口,通过Abatron公司的BDI在线仿真器和IAR公司的集成开发环境
Embeded Workbench for ARM 可以实现各种程序的在线调试。板上提供了2个串
口,还可以将处理器的UART配置成SPI,除了完成通信功能以外,还可以很容易地连接A/D变换器,满足测控系统的需求。板上还扩展了
10 M以太网接口。在网络控制器方面,选用了低成本符合NE2000标准的RTL8019,为平台提供了网络化的硬件基础。此外,板上
还集成了液晶及行列式键盘接口,可以很方便地为嵌入式应用系统提供友好的用户交互方式。硬件平台如图1所示。
(2)开放源码的嵌入式多任务操作系统
测控系统所要完成的工作越来越复杂,程序越来越庞大,需要管理的外设越来越多,只有拥有嵌入式多任务操作系统,拥有稳定工作的硬件基础,开发工作重点才
能由原来硬件的调试、软件的 DEBUG转变为对于实际应用系统的性能的提高、智能化软件的编写。此外,只有在一个完整的、具有统一编程
规范的操作系统基础上,使用高级语言开发出的应用程序,才可能具有良好的可移植性,才可能被重复利用。嵌入式多任务操作系统是实现现代实时测控系统开发平
台的唯一途径。操作系统与模块化硬件设计结合起来,共同构成一个可以重复利用的软硬件数字系统平台,除了可以最大限度地提高开发的效率、减少资源的浪费
外,还可以通过长期对于该平台的研究,逐步优化平台软硬件资源,提高其性能,并满足日益复杂的应用需求。
目前大多商用嵌入式操作系统
出于商业利益的考虑,除了使用该操作系统的每件产品要收取版税以外,要么只提供操作系统核心部分二进制文件,要么对源代码的收费十分昂贵,对于此类操作系
统的使用者来讲,几乎无法拿到操作系统的源代码。这样,一方面产品的进一步发展受制于人;另一方面对于嵌入式应用系统容易出现隐患,无法从根本上
避?quot;后门
"
。只有对开放源代码的操作系统进行不断的理解、改造、优化,才有利于我国嵌入式开发水平的稳步提高。
对于小型实时测控系统来说,源代码公开的、具有很好可移植性的、可固化可裁剪的、高稳定性与可靠性、抢占式多任务的ìC/OS-Ⅱ非常适合!代码简洁的
ìC/OS-Ⅱ已经应用于照像机业、医疗仪器、音响设备、发动机控制、网络接入设备、高速公路电话系统、ATM机、工业机器人等嵌入式实时系统。
(3)网络化
TCP/IP协议栈使得嵌入式系统可以通过Internet将通信距离无限扩展。10M以太网使得大量数据的快速传输成为可能。这样,除了可以充分利用
PC机上各种资源,完成数据的存储、分析、统计工作外,还可以实现测控系统间的数据交换,对于智能化、模块化的嵌入式设备集群的实现提供了另一种途径。
PPP协议,可以通过调制解调器实现远程的数据交换、状态控制等功能,为嵌入式系统提供了更灵活的控制、监测方式。
我们选用了Interniche公司(
http://www.iniche.com
)
开放源码的嵌入式TCP/IP协议栈。Interniche使我们很容易在ìC/OS-Ⅱ的调度下为开发平台增加网络通信和网络管理等功能。由于它是专门
为嵌入式系统而设计的,占用的系统资源很小。Interniche协议全部用标准C语言。它除了可以运行在各种RTOS下,如ìC/OS、VRTX、
CMX、Threadx等,还可以在没有RTOS的环境下独立运行。此外,Interniche还在ìC/OS-Ⅱ的基础上专门为其嵌入式TCP/IP协
议栈编写了自己的嵌入式实时多任务操作系统:ChronOS。ChronOS除了保持对已经广泛使用的ìC/OS-Ⅱ的兼容性以外,还使嵌入式TCP
/IP协议栈与RTOS更加紧密地结合在一起,来满足各种现代应用对RTOS和嵌入式TCP/IP协议相结合的迫切需求。
常用的Interniche包括:
① 核心协议。
◇ NicheStackTM--InternicheTCP协议包含TCP、UDP、IP、TFTP、DHCP Client、ICMP、ARP、SLIP、BootTP、DNS Client。
◇ Niche ToolTM--菜单驱动的协议调试和测试工具(包含在NicheStack和Nichelite中)。
◇ NicheLiteTM--Interniche微型化的TCP/IP协议,全部代码在12KB以内;它包含全部的
NichestackTM所有的协议和1个最少化的Socket API,易于移植到从8位到32位CPU上。
可选
择应用模块: PPP、Multilink PPP、PPPoE、
Telnet(Server&Client)、FTP(Server&Client)、IP Multicast、
NichePOP3。它使TCP/IP上的附加模块增加了POP3 Email服务器收邮件功能。
② 基于WEB管理和配置协议。
◇ WebportTM--嵌入式Web服务器,让最终用户通过WWW浏览器配置和监控嵌入式设备而避免去编写专用的GUI界面。这些
界面多数是与主机OS相关的(如Win98),而且需要目标环炒罅康淖试矗缥募低场?br>
◇ Email Alerte--为嵌入式系统增加预告和报警功能。它允许用户向本地或远程的Email地址发出预先设
置好的信息,比如某个条件下的报警信息。
2 开发平台的具体实现
(1)开发测试板的硬件测试
完成NetCARM7设计、板焊接以后,使用Abatron公司 (
http://www.abatron.ch
) JTAG仿真器BDI2000,通过编写BDI配置文件对NetCARM7板进行初始化,初步验证板上CPU工作是否正常,检查SRAM、Flash ROM是否可以正常读/写。
(2)BDI2000结合IAR EW的软件测试
在板上存储器正常工作的基础上,使用IAR公司 (
http://www.iar.com
) 的
集成开发环境Embedded Workbench编写出简单的测试程序,其中包括汇编语言、C语言。只要在EW中利用它提供的嵌入式
C/C++优化编译器、汇编器、连接定位器,就可以生成目标机的可执行程序;利用EW的C-SPY调试器中支持的RDI接口,就可以和BDI2000建立
连接,直接将编写的代码下载到板上在线仿真。由于BDI2000仿真器是通过10M以太网连接计算机,并且通过JTAG接口与目标机相连,BDI2000
与目标机的通信速率可达16Mb/s,程序下载速率可达320 KB/s,因此可以大大提高平台软件开发的效率。
在初步的测试程序编写完成以后,逐步对板上的其它外设和通信端口进行测试。
(3)串口监控程序
NetCARM7上的串口除了可以提供少量数据传送和控制信息的输入/输出以外,为了方便平台的软件维护,我们还开发了一个基于板上串口的监控程序,经
RS232接口就可将PC与NetCARM7相连,完成以下功能:① 显示处理器各状态下寄存器的值;② 修改指定地址的SRAM、FlashROM中的
内容;③ 查看指定地址的存储器中的内容;④ 将用户编写的代码下载到NetCARM7的指定地址的SRAM、Flash ROM
中;⑤ 从指定地址开始执行用户代码;⑥ 通过设置跳线,选择从用户放在FlashROM中的代码直接启动(上电后直接运行用户的应用程序);⑦ 支持用
户设置的软件中断,在中断以后可以使用①、②、③项功能,用以方便用户调试自己的代码。这样,在平台用于实际的测控系统产品以后,在仪器工作现场只需改变
跳线就可以使板上的监控程序工作,通过串口升级整个系统软件,也包括监控程序本身,在没有JTAG调试工具的时候,方便地对可能出现的比较简单的问题进行
修复。
(4)ìC/OS-Ⅱ的移植
对ìC/OS-Ⅱ的移植在BDI2000和IAR EW的帮助下
变得非常简单。在完成CPU的初始化以后,首先对时钟节拍进行设置(10~100Hz)。对AT91M40800只需编写相应的定时器中断处理程序,在程
序中调用操作系统的OSTimeTick(),并在其
AIC(Advanced Interrupt Controller )中设置定时器的优先级别,并将定时器中断处理
程序的地址放到相应的中断向量表中即可。使定时器产生中断,必须在开始多任务调度后,即在第一个任务中使能定时器。其次,对ìC/OS-Ⅱ移植主要集中在
includes.h、OS_CPU_A.S、OS_CPU_C.C等CPU相关文件的移植,上层任务调度部分不需要任何修改。对于多任务操作系统,只需
将复杂的应用分成简单的、相互联系的任务,再把各个不同优先级的任务交给操作系统去管理就可以了。
(5)Interniche嵌入式协议栈的移植
BDI2000结合IAR EW在线调试对于驱动程序的编写的帮助作用更加明显。对于同样具有良好可移植特性的Interniche协
议栈,只需要根据以太网控制器RTL8019手册上的详尽描述,编写出发送包、接收包的函数,以及用于以太网控制器的外部中断处理程序就可以完成对
Interniche的网络部分的移植。由于Interniche协议栈也是可以获得源码的,所以对于任何网络控制器都可以通过不断的调试最终完成自己的
驱动程序。此外,为了方便调试,使Niche ToolTM工作,还应该完成对Interniche中向串口收发字符
putchar(); getch()的移植,就可以在PC端使用超级终端经过串口与NetCARM7上的Interniche 基于命
令行交互了。Interniche的各种协议簇可以根据需要由ìC/OS-Ⅱ调度的状态查询任务。这样ìC/OS-Ⅱ就和Interniche一起构成了
现代实时测控系统开发平台的软件核心。
3 开发平台灵活的网络应用
(1)图形化操作界面
图形化操作界面是基于Interniche 的Webserver,通过WWW浏览器实现的。
利
用Interniche提供的WebportTM,让最终用户通过局域网或广域网访问嵌入式测控系统,在WWW浏览器中设置测控设备工作参数,监控其运行
状态及察看测量结果,而避免为嵌入式测控系统专门去编写专用的GUI交互界面。在不同的仪器设备中的界面只需编写不同的HTML页面,结合CGI技术就可
以完成各种灵活、友好的交互功能了。这些界面只需要目标机提供存储空间就可以了。
(2)真正的远程控制
利用Interniche提供的PPP拨号上网,使用Email Alerte为嵌入式测控系统增加预告和报警功能,测控设备就可以向远程的Email地址发出预先设置好的信息,通知测控设备的工作情况,实现嵌入式测控设备真正的
"
无人值守
"
远程控制。
本文章来自中国IT实验室
http://embed.chinaitlab.com/
写原创有奖励!2024面包板原创奖励正在进行中
点赞(
8
)
收藏
分享到:
上一篇:
献给ARM初学者
下一篇:
C51编程经验三则
PARTNER CONTENT
换一换>
更多>
新蓝牙6.0协议扩展应用范围
Silicon Labs(芯科科技)蓝牙产品经理Parker Dorris
2024-12-16
概伦电子:以开放心态共绘EDA产业新蓝图
概伦电子
2024-12-30
SK海力士开发出适用于AI数据中心的高容量固态硬盘‘PS1012 U.2’
SK海力士
2024-12-18
SK海力士将在CES2025亮相‘全方位面向AI的存储器供应商’的新蓝图
SK海力士
2025-01-03
文章评论
(
0
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
用户1615276
修改
文章:
67
阅读:
154519
评论:
36
赞:
520
好友
私信
个人主页
文章
67
原创
0
阅读
154519
评论
36
赞
520
最新评论
更多
写的好,好产品,海信了不起
开发工匠 ...
评论博文
2025-1-11
海信发布全球首台116英寸RGB-Mini LED电视 ...
物也有命
自做自受 ...
评论博文
2025-1-9
富士通环保行为准则之切身感受 ...
行情不坏,手机火,写的好
开发工匠 ...
评论博文
2025-1-9
2024年全球智能手机面板出货量突破22亿片, ...
最新
博文
简单又实用的教程:RTC时钟使用指南~ ...
一篇文章丨教会你从外观上辨别PCB板层 ...
艾体宝案例丨Snyk 如何借助 CircleCI ...
资料下载
本周热帖
Processing-processing3.5.4
ESP32TFT常用字体库.zip
自动增益控制放大器设计与实现 ...
无线传能充电器设计与实现论文 ...
基于单片机自动电阻测试仪设计论文 ...
《极简图解 半导体技术基本原理》+半 ...
【工程师故事】+2024年:资深嵌入式工 ...
如何快速检测稳压管的稳压值 ...
浪拓电子小课堂:TVS与TSS的工作原理 ...
AD19使用的两个问题
最新资讯
芯语最新
Altera升起象征独立的公司旗帜,正式 ...
用一种简单的方法进行三进制增益切换 ...
苹果廉价版iPhone将在1月中量产,富士 ...
升旗独立!Altera正式脱离英特尔 ...
中国市场下滑0.1%,美洲地区半导体销 ...
高效国产红外温度传感器,为充电桩行 ...
红外温度传感器在电动汽车动力系统的 ...
研发压电MEMS药液微泵,原位芯片完成 ...
思特威全新推出物联网系列3MP高性能图 ...
亮源激光发布5km激光测距模组,引领全 ...
EE直播间
更多
第三代功率半导体器件测试解决方案
直播时间: 03月06日 10:00
在线研讨会
更多
重塑机器人未来:揭秘创新芯片解决方案的颠覆力量
多路有光·精准不凡——KSW-SGM01模拟信号源发布会
迈来芯Triaxis® 3D磁传感器:汽车安全应用的优选方案
适用于安全连接的新一代PIC32CK SG/GC系列单片机
热门
推荐
【TI资料】专为高压系统设计的新型MCU
【TI资料】基于新型C29内核的MCU技术资料
构建AI未来,Arm计算平台无处不在
如何增强电动汽车的实时控制能力?
我要评论
0
8
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/3
工程师写总结,送示波器、稳压电源、螺丝刀!
分享你的:职业生涯中故事、2024年年终总结、工作中的小故事,丰富多样的礼品等你哦!
面包板社区有奖活动汇总楼
1. DIY赢大奖!2. 写原创,有奖励!3.参与话题,奖励E币!4. 免费申领:开发板试用、书籍试读...
电子工程师DIY来分享,赢大疆无人机、小米手机、NAS存储、万用表 ...
展示您的 DIY 电子设计作品,社区将有丰富奖励送给您!
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
文章评论(0条评论)
登录后参与讨论