| | 网站首页 | 新闻 | SOPC | FPGA | DSP | ARM | 嵌入式操作系统 | 下载 | 网上商城 | 芯片价格参考 | 留言 | 论坛 | 网络协议 | 驱动设计 | 购买指南-HowtoBuy | | |
![]() |
![]() |
| 您现在的位置: FPGA开发板&SOPC开发板-嵌入式控制研究室 >> ARM >> ARM入门 >> 文章正文 |
|
|||||
| 如何开发arm(5) | |||||
| 作者:佚名 文章来源:互联网 点击数: 更新时间:2007-6-9 | |||||
|
/* CPU的内部缓冲初始化。蔡军生 2005/07/23*/ static void s3c44b0_flush_cache(void) 它用一个for循环进行内部的缓冲区初始化,由于S3C44B0决定每次读写都是按16字节进行的。因此,这里的i就是不断 地加16个字节。不过,这里为什么不清除0x10000000到0x10001fff区域呢?这个我也没有搞清楚,等我有空试试清除 有没有问题! 到现在为止,缓冲区已经清空,就要设置那些内存区域是不要进行缓存的。因为不是所有内存都需要进行缓冲的,比 如读取外面的IO,就不需要进行缓冲;读取FLASH也不需要。因此,设置第一个非缓冲区的起始地址为NCACHBE0 = 0xC0000000,这个值里的低16位是起始地址0x0000,它的32位地址就是从0x00000000开始。它的高16位是结束地址 0Xc000,它的32位地址就是从0Xc0000000结束。最后就是通过设置SYSCFG寄存器的[2:1]位的值为11,就启用了8K内存 数据和指令缓冲区。到这里为止,就已经设置好CPU的缓冲区初始化和启用。 由于前几次,把编译好的UBOOT写到FLASH老是运行不了。那么怎么办呢?思考了很久,也查看了源程序,还是没有发 现问题。也许那个UBOOT的源程序太大,有很多的编译开关,还有很多驱动程序选择,所以一头雾水,不知怎么办好。 到了这个时候,只有从头开始跟踪了。就是尽可能地跟踪程序运行到那里。因而依次地进行下面的检查: 一般进行四部份检查就找出大体的问题。我首先查了一下,我的开发板上的晶振是10MHz输入,那么我要倍频到60MHz ,所以就要计算它的倍频系数。当然最快的办法,就是用三星提供的PLLSET.EXE工具,五秒钟就搞定了。经过检查, 发现我的倍频系数不对,所以重新设置倍频系数。一般设置过倍频系后,都要调整串口波特率、SDRAM的刷新频率。设 置好倍频系数后,接着,就要计算串口的波特率,这个三星的S3C44B0的手册有计算公式。比如9600,就是拿60MHz进 行分频得到的。 这次设置好后这些东西之后,就把UBOOT编译后,再写到FLASH运行,还是不行。偶都在痛苦中,为什么还不行呢。后 来我想想,把UBOOT的编译地址改到0x00000000运行,就是在FLASH运行,不拷贝到SDRAM中运行。结果是可以运行一段 ,串口有东西输出来,我的设置的LED也可以显示。蜂鸣器也不响。说明这个串口的设置已经对,那么系统的倍频也对 了。但UBOOT的堆栈我没有改,所以只能跑到没有使用到堆栈的代码。接着,我还需要改回到0x0C100000的基地址运行 。经过用ADS中的AXD调试,单步跟踪。又是一件痛苦的事情,发现AXD只能单步跟踪,设置断点,或者其它调试都不行 ,如果在后面设置了断点,选择运行,发现到断点,还停不下来的。 呵呵。。。。。。。调试就是这样的,不是样样都顺手。既然只能单步运行,就老老实实地单步调试了,经过30多分 钟的单步运行,F8都已经按得手软。最后才跟踪到出错的地址,发现内存设置不对。主要是SDRAM的设置不对,查看了 加载地址的出错了。发现了这个加载地址出错,偶也没有更好的办法解决之前,就只好把算好的值,依次地用ldr加载 到r1-r13,共13个寄存器里。接着让AXD全速运行,程序就可运行了。原来出错就是没有把SDRAM的参数加载正确,让 我调试了三天。 通过一个多小时的调试,串口可以显示了,UBOOT的很多命令也可运行了。但还没有调通USB口,也没有网络接口。后 面的工作,就是先调通网络接口。我的开发板用的网络芯片是RTL8019AS,这个我也没有怎么看过,得好好找点资料, 了解了解这个IC,然后找一份LINUX的RTL8019的驱动程序出来看看,再决定怎么样调通RTL8019,由于RTL8019要用到 中断,就要先检查S3C44B0设置,否则到最后都没有办法调试。 通过开发板的调试,与SKYEYE相比,主要的区别是在SDRAM的频率,串口的频率,还有中断的功能,都有很大的不同。 因此,在SKYEYE上能运行的,在开发板,就不一定可以运行,就是这个原因 |
|||||
| 文章录入:fengfeiyi 责任编辑:fengfeiyi | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 如何开发arm(4) 如何开发arm(3) 如何开发arm(2) 如何开发arm(1) 在ARMulator中移植uClinux(… 在ARMulator中移植uClinux(… 在ARMulator中移植uClinux(… 在ARMulator中移植uClinux(… 在ARMulator中移植uClinux(… S3c2410软件调试总结 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | | |
![]() |
Copyright © 2005www.21control.com 嵌入式控制技术研究室 版权所有 站长:康草科技 |