2010年6月24日
摘要: 有了NBoot进行复制引导,Eboot就能运行在RAM中了,WinCE5.0自带SMDK2410 BSP与GEC2410硬件配置很接近,只要进行少量的修改就能运行在GEC2410上了。 阅读全文
posted @ 2010-06-24 15:30 shevsten 阅读(387) 评论(0) 推荐(0) 编辑
  2010年4月16日
摘要: GEC2410开发板自带的Eboot需要通过自带的Bootloader下载后才能运行,这个Eboot只起到下载内核镜像的作用,重启后是通过Nboot启动内核而不是Eboot。而且也不支持KITL,BSP的结构也完全是4.2下的,非常凌乱。不知道开发板商为什么不能按照5.0的架构做一个支持KITL内核调试的Eboot。 因此产生了移植一个上电后能直接运行的Eboot的想法。由于S3C2410支持4K的Steppintstone,可以从Nand Flash启动,我把Eboot放在Nand Flash中,用Nboot进行引导。NBoot位于NandFlash的Block 0,Eboot位于Block 2。上电后,位于前4K的Nboot被复制到RAM中运行,然后Nboot复制Eboot到RAM中,最后跳转到Eboot,由Eboot进行下一步的工作。 阅读全文
posted @ 2010-04-16 16:07 shevsten 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 记录下在EVC4中如何创建DLL的方法,供以后参考. WINCE下的DLL有4种:1.WINCE DLL 2.MFC Regular DLL 3.MFC Extension DLL 4. Resource DLL WINCE DLL:导出函数使用标准C接口,可被MFC或非MFC程序调用 MFC Regular DLL:是使用MFC创建,导出函数也使用标准C接口,可以被MFC或非MFC程序调用 MFC Extension DLL:可以创建MFC派生类,只能被MFC应用程序调用 Resource DLL:包含共享资源,如图标,位图,菜单等 阅读全文
posted @ 2010-04-16 15:56 shevsten 阅读(1108) 评论(0) 推荐(0) 编辑
  2010年3月23日
摘要: 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 阅读(1090) 评论(0) 推荐(0) 编辑
摘要: 接下来就是实现文件系统,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 阅读(569) 评论(0) 推荐(1) 编辑
摘要: 实现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 阅读(905) 评论(0) 推荐(0) 编辑
  2010年3月22日
摘要: 常见的嵌入式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 阅读(1039) 评论(0) 推荐(0) 编辑
摘要: 板子自带的TCPIP协议栈ZLG-TCPIP的性能可以说一般,代码质量也不高,而且采用的是查询而不是中断方式.不过初学TCPIP研究一下相比其他复杂的协议栈还是容易点. 这里就简单描述下ADS移植到IAR的过程,因为改动的代码并不多,就不详细介绍了.关于ZLG-TCPIP更深入的介绍可以参考《ARM嵌入式系统软件开发实例(一)》,之后会详细介绍LwIP的移植过程以及网卡驱动 可以到http://download.csdn.net/source/1547554下载到该工程的源代码,之后有少许改动,不过并不影响运行,如果需要可以与我联系,共同探讨. 阅读全文
posted @ 2010-03-22 11:18 shevsten 阅读(675) 评论(0) 推荐(0) 编辑
  2010年3月19日
摘要: 调试程序时需要输出串口信息到HyperTerminal,一开始没有找到IAR中实现printf从串口输出的方法,所以先自己写了一个print_string的函数. 在ADS只需要实现一个_printf就可以实现printf从串口输出了. 阅读全文
posted @ 2010-03-19 15:42 shevsten 阅读(691) 评论(0) 推荐(0) 编辑
摘要: 为了能运行使用外部的RAM(SMARTARM2200提供的是8M BYTE的PSRAM),就需要修改linker文件,相当于ADS中的分散加载文件. 以LPC2220_flash.icf为模板,创建一个LPC2220_XRAM.icf进行修改: 阅读全文
posted @ 2010-03-19 15:34 shevsten 阅读(755) 评论(0) 推荐(0) 编辑