DebugDaily
文章平均质量分 76
li_boxue
这个作者很懒,什么都没留下…
展开
-
C6678的SPI Flash启动失败
源码中对启动参数表的定义与文档中不一致原创 2015-10-30 16:42:36 · 6122 阅读 · 2 评论 -
HPI中断丢失
背景XX板上DM8168的GPMC接口与C6455的HPI接口连接,既用作C6455的启动接口,又用作启动完成后两芯片的数据传输通道。 上架使用一段时间后,发现几天内HPI通道会死一次,且多个板子都出现了这样的现象。原创 2015-12-03 20:34:28 · 799 阅读 · 0 评论 -
connect()函数阻塞
在XX板的C6678上运行SYS/BIOS操作系统和NDK协议栈。应用层有一个TCP客户端去连接PC上的服务器,然后通过这个连接互发心跳。 WinXP回复RST,但Win7却什么都没回。RFC中对这个行为并没有作出明确规定,只是称服务器"may"发送RST,言下之意当然也可以"may not"。而不同的Windows版本的协议栈会有不同的行为,才导致了有时候会出问题有时候没问题。原创 2016-01-05 20:46:00 · 3792 阅读 · 0 评论 -
C6416启动失败
C6416老的BIN文件通过HPI启动,闪灯程序运行正常。然而改用CCS5.4下开发的闪灯程序后,主机下载BIN文件功能不正常。灯只亮不闪。原创 2015-12-02 22:17:20 · 1977 阅读 · 0 评论 -
网络相关问题(下)
DM8168芯片运行Linux操作系统,有两个物理网口。在某项目中需要绕过协议栈直接收发以太网帧,本文总结调试过程中的几处注意事项。原创 2015-12-07 21:43:01 · 700 阅读 · 0 评论 -
U-Boot中改用DM8168的网口1
DM8168在U-Boot默认使用且只支持EMAC0实现网口通信。为改用EMAC1,需要对U-Boot做一些修改。原创 2016-02-18 20:54:20 · 2376 阅读 · 0 评论 -
U-Boot中改用DM8168的UART0
背景在DM8168的EVM板中,DM8168使用UART2作为控制台串口,但在新研FXX板中,DM8168改用UART0,这就需要修改U-Boot源码。原创 2016-02-19 22:55:07 · 1333 阅读 · 0 评论 -
Linux内核中DM8168的网口驱动移植
DM8168其EMAC0直接用GMII接口连接到对端某芯片上。因此需要修改内核驱动代码来完成适配。原创 2016-02-23 23:55:15 · 2698 阅读 · 0 评论 -
DM8168外挂IC卡读写异常
在新研FXX板的DM8168上,有一个SPI接口的IC卡,使用的是AT45DB041芯片。在硬件测试时,对IC卡读写数据都不正确。而同样的代码和同一张卡在HXX板上运行没有任何问题。 在分析和解决该问题过程中逐步发现,这涉及了硬件和软件两个方面。原创 2016-03-10 19:41:21 · 785 阅读 · 0 评论 -
SPI Flash数据移位
C6678外挂了一片SPI接口的Nor Flash,型号为Micron N25Q128A13BSF404F,其容量为128Mbit,由于电平匹配问题中间使用了一片EPLD作电平转换,将6678的1.8V电平逻辑转换为3.3V。在测试过程中发现当SPI的时钟配高一些(50MHz)的时候,就会出现Flash初始化不通过,具体现象是读取ID不正确,与正确的ID总是移位1个比特。原创 2015-10-30 16:57:46 · 3043 阅读 · 0 评论 -
NDK持续打印
NDK有四种不同的打印级别,分别对应于不同的信息级别。然而在NDK2.23中,这个配置不能成功生效,原因是NDK有一个小的bug。原创 2015-10-30 17:16:06 · 786 阅读 · 0 评论 -
C6678网口初始化失败
C6678的网络协处理器NETCP模块有两个对外千兆网口。工程的优化属性配置为O3优化时,网口启动有一定概率失败。将O3优化取消再测,则启动一直能成功。原创 2015-11-04 19:05:23 · 3280 阅读 · 1 评论 -
C6414上移植LwIP
在新研NXX板上使用了若干片C6414,其中有两片用EMIFB接口连接DM9000芯片扩展出网口,上层采用LwIP协议栈。因此需要移植LwIP协议栈和DM9000的驱动。原创 2015-11-04 19:10:10 · 1507 阅读 · 0 评论 -
实时操作系统若干问题
可剥夺型实时操作系统特点是高优先级的任务可以无条件抢占CPU时间,这种情况下低优先级任务得不到任何运行的机会。在实时操作系统的任务设计中,任务间的分工、时序、优先级设计都是非常重要的方面,设计不当将引起诸多问题。本文总结了我在设计中遇到的几个这样的问题。原创 2015-11-04 19:08:28 · 872 阅读 · 0 评论 -
网络相关问题(上)
TCP/IP网络是一个复杂的话题,其中涉及到的驱动、协议栈和应用编程每个主题都够写一本书。事实上确实有许多这方面的巨著,如《TCP/IP详解》三卷本、《UNIX网络编程》等等。这里先列举几个印象比较深刻的案例,后续还会再补充。原创 2015-11-06 20:17:45 · 500 阅读 · 0 评论 -
邮箱与信号量相关问题
嵌入式操作系统也会提供邮箱和信号量,用作进程同步、临界区保护、简单的消息传递等。在使用过程中如果设计不当会发生许多问题,本文列举了我在调试过程中遇到的一些相关案例。原创 2015-11-06 20:03:37 · 2349 阅读 · 0 评论 -
DDR引发的问题(上)
在C6455上有一片外挂DDR2,当把一大段初始化数据定义到DDR中时,发生了链接错误。原创 2015-11-10 21:06:51 · 3149 阅读 · 0 评论 -
内存相关问题
内存是嵌入式系统的宝贵资源,在没有复杂操作系统进行内存管理的情况下,程序直接访问实地址,因此经常会遇到各种问题。本文介绍了我在调试过程中积累的内存方面问题的一些案例。原创 2015-11-06 20:00:06 · 743 阅读 · 0 评论 -
DDR引发的问题(下)
DDR使用控制器来完成底层时序和刷新操作,需要事先对DDR控制器进行适当的配置。原创 2015-11-11 21:31:25 · 3415 阅读 · 0 评论 -
移植uC/OS到CK-CPU
背景某自研芯片使用了杭州中天微研发的CK-CPU内核。中天微已经移植了uC/OS实时操作系统和Linux操作系统。然而有两方面原因要求我们再进行一些额外的适配工作。原创 2016-02-28 18:40:57 · 1302 阅读 · 0 评论