首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
用户1615276
修改
文章:
67
阅读:
156196
评论:
36
赞:
525
好友
私信
个人主页
文章
67
原创
0
阅读
156196
评论
36
赞
525
原创
32位ARM嵌入式处理器的调试技术
2008-10-26 18:43
2679
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/
写原创有奖励!2025面包板原创奖励正在进行中
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
点赞(
8
)
收藏
分享到:
上一篇:
献给ARM初学者
下一篇:
C51编程经验三则
PARTNER CONTENT
换一换>
更多>
全球知名科技公司正在出售一批未使用的IC载板先进封装工艺生产设备
ALLSURPLUS
2025-02-14
德中技术发布数控设备操作系统MOS V1.0版本软件
德中技术
2025-02-06
文章评论
(
0
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
用户1615276
修改
文章:
67
阅读:
156196
评论:
36
赞:
525
好友
私信
个人主页
文章
67
原创
0
阅读
156196
评论
36
赞
525
最新评论
更多
写的好,学习了,多层板,做的质量一流,很难
开发工匠 ...
评论博文
2025-2-21
PCB多层板为何偏爱偶数层:一场关于平衡的 ...
写的好,大师之作,学习榜样
开发工匠 ...
评论博文
2025-2-20
我与EET的缘分,以及2025年打算在这里分享 ...
7sms : 涨薪1%呢,也就是每个月多拿了有1000元呢———— 楼主10万一个月? 一般的,月薪10W只能在菊花厂能拿到 ...
liweicheng
评论博文
2025-2-19
【工程师故事】勇敢的人先享受世界 ...
最新
博文
Deepseek评OKR是职场人士最应学习的管 ...
从智能手机到服务器,贴片散热器如何 ...
高难度PCB一站式:技术与服务的双重保 ...
资料下载
本周热帖
FP7153PDF规格说明书
FT60F02X芯片手册
[40周全]物联网/嵌入式全能工程师(提 ...
电子工程师入门手册
软件工程知识体系(SWEBOK)v4.0 ...
【赚E币,兑大奖】用AI来分析电路或编 ...
无线充电发射板TYPEC接口快充输入,支 ...
富芮坤FR3068E开发板使用评测 ...
【富芮坤FR3068x-C】学习开发 ...
过压保护元件的典型应用市场 ...
最新资讯
芯语最新
资本市场的“疯狂星期四”,宇树科技 ...
利用解决方案供应商的优势加速自主移 ...
微软量子芯片掀桌子:“幽灵粒子”让 ...
铠侠携手闪迪开发出第10代3D NAND闪 ...
华为成立新公司“北京引望”,聚焦汽 ...
鸿利显示荣获“广东省MiniLED新型显示 ...
富采2024年亏损13.9亿新台币,旗下两 ...
加速视效制作全流程:英特尔以全栈软 ...
芯片巨头,人均年薪65万元! ...
突破极限!1mm³存储TB级!
EE直播间
更多
高效协同与版本管理:是德科技设计数据管理软件助力现代芯片设计
直播时间: 02月26日 10:00
第三代功率半导体器件测试解决方案
直播时间: 03月06日 10:00
利用高性能源表和强大的软件, 实现半导体参数的测试和分析
直播时间: 04月17日 10:00
在线研讨会
更多
使用新型光耦隔离栅极驱动器优化系统效率及EMI表现
Allegro电流传感器替代采样电阻解决方案—实现更高效、更可靠的电流检测
迈来芯电流传感器:从汽车到工业与消费电子全面应用
如何在隔离的状态监控系统中捕获同步数据
热门
推荐
【直播】可替代采样电阻的电流传感器技术
采样电阻OUT!Allegro磁传感方案实战揭秘
工程师必看:B2900隐藏的15个超频测试模式
这个5G模组不简单!支持5G行业特色功能:5G LAN、网络切片、高精度授时等
我要评论
0
8
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/1
面包板社区有奖活动汇总楼
1. 拆解活动即将上线!2. 写原创,有奖励!3. 免费申领:开发板试用、书籍试读...
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
文章评论(0条评论)
登录后参与讨论