文章分类 -  ARM

SMARTARM2200 ADS工程在IAR EWARM 5.3上的移植(9)-uCFS的移植(uCFS在SD上的移植)
摘要:SD卡驱动完成之后接下来就是实现uCFS与SD卡的接口.主要代码实现在DEVICE\SDMMC\sd_drv.c中. 整个工程代码可在http://download.csdn.net/source/1796291下载到. 1.添加对MMC/SD的支持配置 在fs_conf.h中打开对MMC和uCOSII的支持 #define FS_OS_UCOS_II 1 /* 1 = use uC/OS-II */ #define FS_USE_MMC_DRIVER 1 /* MMC/SD card driver */ 阅读全文
posted @ 2010-03-23 14:59 shevsten 阅读(1145) 评论(0) 推荐(0)
SMARTARM2200 ADS工程在IAR EWARM 5.3上的移植(8)-uCFS的移植(SD卡驱动简析)
摘要:接下来就是实现文件系统,uCFS在SD卡上的移植.我用的还是1.34.01版本,网上到处都是.不过更高版本的很难找到,谁有的愿与我分享会非常感谢. SMARTARM2200上SD卡通过SPI与处理器通信,另外3根IO用来控制供电,插入检测,写保护检测.SD驱动代码从ZLG的工程中获得用来移植到IAR上.移植好的工程请见http://download.csdn.net/source/1796291大部分代码来源于网络,我做了些整合和修改. 阅读全文
posted @ 2010-03-23 14:50 shevsten 阅读(598) 评论(0) 推荐(1)
SMARTARM2200 ADS工程在IAR EWARM 5.3上的移植(7)-LwIP 1.2的移植(RTL8019AS驱动)
摘要:实现LwIP与uCOSII的操作系统模拟层后,剩下重要的一部分就是网卡驱动了.SMARTARM2200用的网卡芯片是RTL8019AS. RTL8019AS.有3种工作方式: 第一种为跳线方式,网卡的i/o和中断由跳线决定 第二种为即插即用方式,由软件进行自动配置plug and play 第三种为免跳线方式,网卡的i/o和中断由外接的93c46里的内容决定。 SMARTARM2200使用第一种方式即跳线方式.65脚JP为高电平时即为跳线模式.其基地址为300H,中断源为INT0(P0.9),操作地址为0x83400000~0x0x83400001F,该地址为CS3,A23,A22,A21通过ATF16LV8C译码而得. 更详细的信息可以参考我上传的工程http://download.csdn.net/source/1661278 阅读全文
posted @ 2010-03-23 10:26 shevsten 阅读(954) 评论(0) 推荐(0)
SMARTARM2200 ADS工程在IAR EWARM 5.3上的移植(6)-LwIP 1.2的移植(uCOSII部分)
摘要:常见的嵌入式TCPIP协议栈有LwIP,uIP,uC/TCPIP,TinyTcp等,相对来说LwIP功能较uIP(uIP更多用在8位51上),TinyTCP强点,但代码量小于uC-TCPIP,之前也尝试过移植uC-TCPIP,不过一直有点问题,当然uC-TCPIP还不是免费的.加上网上关于LwIP的资料也比较多. 阅读全文
posted @ 2010-03-22 13:30 shevsten 阅读(1105) 评论(0) 推荐(0)
SMARTARM2200 ADS工程在IAR EWARM 5.3上的移植(5)-ZLG-TCPIP的移植
摘要:板子自带的TCPIP协议栈ZLG-TCPIP的性能可以说一般,代码质量也不高,而且采用的是查询而不是中断方式.不过初学TCPIP研究一下相比其他复杂的协议栈还是容易点. 这里就简单描述下ADS移植到IAR的过程,因为改动的代码并不多,就不详细介绍了.关于ZLG-TCPIP更深入的介绍可以参考《ARM嵌入式系统软件开发实例(一)》,之后会详细介绍LwIP的移植过程以及网卡驱动 可以到http://download.csdn.net/source/1547554下载到该工程的源代码,之后有少许改动,不过并不影响运行,如果需要可以与我联系,共同探讨. 阅读全文
posted @ 2010-03-22 11:18 shevsten 阅读(698) 评论(0) 推荐(0)
SMARTARM2200 ADS工程在IAR EWARM 5.3上的移植(4)-printf的串口实现
摘要:调试程序时需要输出串口信息到HyperTerminal,一开始没有找到IAR中实现printf从串口输出的方法,所以先自己写了一个print_string的函数. 在ADS只需要实现一个_printf就可以实现printf从串口输出了. 阅读全文
posted @ 2010-03-19 15:42 shevsten 阅读(721) 评论(0) 推荐(0)
SMARTARM2200 ADS工程在IAR EWARM 5.3上的移植(3)-IAR Linker文件分析
摘要:为了能运行使用外部的RAM(SMARTARM2200提供的是8M BYTE的PSRAM),就需要修改linker文件,相当于ADS中的分散加载文件. 以LPC2220_flash.icf为模板,创建一个LPC2220_XRAM.icf进行修改: 阅读全文
posted @ 2010-03-19 15:34 shevsten 阅读(791) 评论(0) 推荐(0)
SMARTARM2200 ADS工程在IAR EWARM 5.3上的移植(2)-uCOSII移植代码分析
摘要:uCOS移植代码主要位于工程路径下的\uCOS-II\Ports\ARM\Generic\IAR\os_cpu_a.asm(在uC-CPU下有个cpu_a.s,里面定义了OS_CPU_SR_Save和OS_CPU_SR_Restore,但实际上未用到,用到的是os_cpu_a.asmOS_CPU_SR_Save和OS_CPU_SR_Restore来进行开关中断) 这里就os_cpu_a.asm里的主要几个函数进行简单分析.更加详细的内容可参考邵贝贝译的《嵌入式实时操作系统uCOS-II》(第二版) 阅读全文
posted @ 2010-03-19 15:26 shevsten 阅读(752) 评论(0) 推荐(1)
SMARTARM2200 ADS工程在IAR EWARM 5.3上的移植(1)-启动代码(cstartup.s)分析
摘要:手上有块ZLG的SMARTARM2200(LPC2220)的板子,其中的例子都是基于ADS的,想都移植到IAR上去,同时好好研究下IAR,ARM,uCOSII。我用的IAR版本是IAR EWARM5.3. 从Micrium网站上下了uCOSII LPC2148的例子作为模板,修改好的工程可以从http://download.csdn.net/source/1485629上得到。这个工程只含有uCOS及其实例任务,FS,TCP-IP,GUI什么的之后会陆续加入,文章的描述可能与此有差异,如有疑问欢迎与我交流shevsten#gmail.com(#换为@) 阅读全文
posted @ 2010-03-19 15:19 shevsten 阅读(3043) 评论(0) 推荐(0)