首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2025泰克杭州测试论坛
2025中国低空经济产业创新发展大会
【直播】芯片设计工艺仿真全解析
西门子数字化工业软件资源中心
嵌入式设计资源库
智能楼宇/家电控制应用全解析
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
用户1615276
修改
文章:
67
阅读:
159819
评论:
36
赞:
622
好友
私信
个人主页
文章
67
原创
0
阅读
159819
评论
36
赞
622
原创
32位ARM嵌入式处理器的调试技术
2008-10-26 18:43
2773
10
10
分类:
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/
写原创有奖励!2025面包板原创奖励正在进行中
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
点赞(
10
)
收藏
分享到:
上一篇:
献给ARM初学者
下一篇:
C51编程经验三则
PARTNER CONTENT
换一换>
更多>
提升汽车电子浪涌耐受性:SWM+TVS解决方案通过ISO 16750-2 Pulse 5a测试
firstohm
2025-04-14
AI时代的氮化镓:市场与技术将走向何方?
黄烨锋
2025-04-24
文章评论
(
0
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
用户1615276
修改
文章:
67
阅读:
159819
评论:
36
赞:
622
好友
私信
个人主页
文章
67
原创
0
阅读
159819
评论
36
赞
622
最新评论
更多
学习和参考了,分析很详细,把MOS管原理,算发,参数,恒流,都写的很好,大师之作
开发工匠 ...
评论博文
2025-5-10
我找到了MOS管开关电路浪涌电流的计算公式~ ...
开发工匠 : 学习了,分析很细,芯片功能,芯片电路图,原理图未上,产品布线,产品结构,产品分析很全,很适用 ...
liweicheng
评论博文
2025-5-9
【拆解】行车记录仪后摄像头,挺神奇的 ...
ESD这么深的回扫,会不会有latch up 的风险
xiepeng0010 ...
评论博文
2025-5-9
【新品发布】湖南静芯推出4路单向超大通流 ...
最新
博文
什么是硅二极管温度传感器 ...
不同类型温度传感器的工作原理 ...
手机通信、智能穿戴无线充电解决方案 ...
资料下载
本周热帖
CBI液压磁极式断路器介绍
LC滤波电路使用TSMI一体成型贴片电感 ...
HDMI2.0滤波保护叠层共模滤波器 ...
医疗器械专用集成化高性能TSIF集成滤 ...
高精度智能设备TSMI2520一体成型电感 ...
雪崩二极管:汽车电子系统中的关键光 ...
新手销售,想问一下各位公司的呆料是 ...
激光导热系数的原理及案例 ...
聚焦离子束技术在透射电子显微镜样品 ...
聚焦离子束技术:原理、应用与展望 ...
最新资讯
芯语最新
电力电子科学笔记:金属电导率与索末 ...
10BASE-T1S:利用下一代以太网引领智 ...
中国半导体还出海吗?4个问答告诉你 ...
大基金减持,中芯国际和华虹公司一季 ...
中芯国际预警,二季度毛利率下滑 ...
雷军停更1月后终于复出!坦言SU7事故 ...
腾讯曝光内部工位网友称这么大又奢华 ...
焕新特斯拉ModelY高速上遭六轮卡车追 ...
小米SU7被评为质量倒数第一博主深扒有 ...
华为Pura80系列首发!国产一英寸SC5A0 ...
EE直播间
更多
中小数字IC云仿真加速方案:弹性资源与验证效率提升
直播时间: 05月22日 10:00
在线研讨会
更多
ADMT4000重新定义多圈编码器设计
NSSine™系列实时控制MCU在数字电源和电机控制领域的应用
ST 在大功率热管理系统中的电机控制系统方案(AI 数据中心/暖通空调/电池储能系统/变频制冷)
利用氮化镓技术打造高效电机驱动——人形机器人、无人机与电动汽车应用
热门
推荐
UCIe 2.0协议“死磕指南”!Avery VIP如何实现0缺陷互连?
汽车照明系统的“智慧大脑”,竟然是它?》
汽车智能照明背后的“黑科技”传感器,你知道吗?
AI数据中心过热?ST 10kW压缩机方案让液冷系统效能翻倍
我要评论
0
10
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/3
【直播】从周级到天级:IC 云仿真加速实战
算力自由!中小IC团队如何用云仿真抢跑3个月流片? 验证效率翻倍的秘密:零成本体验英诺达云仿真黑科技
2025第1期拆解活动:赢示波器、运动相机、热像仪等!
示波器、影石运动全景相机、大疆无人机、高清红外热成像仪;树莓派5等等
【2025面包板社区内容狂欢节】发帖/回帖赢25万E币!
活动时间:即日起——2025年全年(发完20万E币为止!)
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2025泰克杭州测试论坛
2025中国低空经济产业创新发展大会
【直播】芯片设计工艺仿真全解析
西门子数字化工业软件资源中心
嵌入式设计资源库
智能楼宇/家电控制应用全解析
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
文章评论(0条评论)
登录后参与讨论