下位机相关
maxvampire82
这个作者很懒,什么都没留下…
展开
-
上位机到下位机
在大学里,一向没有重视计算机体系结构之类的课程,以为光靠数据结构,编译原理,操作系统,软件工程等几大主课就能解决一切问题。最近因工作需要,接触到单片机编程。才发现硬件知识及其匮乏,一些最基本的概念都不清楚,花了不少的时间才算初步上手。 基本上,在单片机上用C编程和以前用TC的时候差不多,主流程用一般的结构化编程的思路就能搞定,当把芯片功能封装完成后,剩下的就是纯粹编码任务了。原创 2006-03-20 10:59:00 · 2523 阅读 · 1 评论 -
单片机中使用简易指令队列
主芯片:3687编译环境:HEW2语言:C协议:ModbusTCP(对上位机),ModbusRTU(对被控制设备)结构:PC(上位机)-RS232-程序所在设备-RS485总线-被控制设备×N功能:程序所在设备负责对被控设备×N作不间断论询,将其信息保存在内存中,当上位机询问时提供给上位机。由此产生的问题是,当上位机需要控制被控制设备时,无法实时相应动作,因为此时可能正在论原创 2006-03-20 11:23:00 · 2174 阅读 · 1 评论 -
ucos2在AT91SAM7A3上的移植
芯片:AT91SAM7A3环境:ADS1.2boot:CStartup.s 官方版本移植版本:AN-1014版通用Arm移植ucos2:2.761. 首先要在boot里面分配各个模式的堆栈,因为要在片内32K RAM做调试,所以暂时把栈底改在0x208000的地方,程序空间从0x200000开始。2. 将boot中IRQ_Handler_Entry改为os_cpu_a.s中的OS_CPU_原创 2006-03-23 09:20:00 · 1495 阅读 · 0 评论 -
uip在ARM上移植的注意点
上个星期在移植一个小型TCPIP栈uip到ARM上。移植完成后,在测试arp, ip, icmp通过的情况下,无法连通代码自带的Web Server,在跟核心数十个小时后,终于发现了原因。问题出在RISC的ARM芯片上。其实在ARM上移植任何已有系统都要注意这个问题,ARM汇编在处理内存数据读写的时候是要求字节对齐的,如果没对齐会出现各种异常现象,因此,程序频繁Crash掉是清理之中的。原创 2006-04-24 08:54:00 · 2839 阅读 · 2 评论 -
Lwip移植Arm初步
修正了几个Bug,刚ping通,连忙过来写篇记录。硬件:某大众化Arm开发板。软件:ADS 1.2 + lwip 1.11 + ucosii 2.761. 移植ucosii,这个就不用说了,网上一堆文章呢。2. sys_arch.c:做lwip关于ucosii操作系统方面的移植,基本是参考Yangye大侠在skyeye上的移植。3. xxx_netif.c:做硬件读写的移植:照着源代码自带原创 2006-05-16 11:17:00 · 3966 阅读 · 3 评论 -
IO处理出错?!
真郁闷,在做IO控制的时候发现,如果连续对IO口写0,会使IO输出为全1用的芯片是74HC165,难道是大量的写操作使时序混乱了?!不明白。在加了一个延时之后,就OK了。不过问题还没解决原创 2006-10-22 16:31:00 · 1029 阅读 · 0 评论 -
ucosii(2.76) + Lwip(1.11)调试简单应用。
1. 任务数,初始化Lwip的任务优先级是5-10,如果只设了4个任务,那肯定跑不动。2. 给lwip分配的栈空间,尽量设256以上吧,128很可能会栈冲爆导致系统挂掉。3. OSEVENT的数量,如果因为数量不够,使sem不够用,那就不好了,我分配了40。4. ISR,让OS来管理网络的中断吧。5. 超过标准包的大小,会拆包。如果直接就这样发到Lwip里面的话,那之后系统就会没反应了。给上位原创 2006-06-12 13:22:00 · 2168 阅读 · 0 评论