学习ARM开发(11)
2023-09-14 09:10:39 时间
学习ARM开发(11) 昨天又是星期天,在家里又可以对那块开发板进行软件研究了。 由于前几次,把编译好的UBOOT写到FLASH老是运行不了。那么怎么办呢?思考了很久,也查看 了源程序,还是没有发现问题。也许那个UBOOT的源程序太大,有很多的编译开关,还有很多驱 动程序选择,所以一头雾水,不知怎么办好。到了这个时候,只有从头开始跟踪了。就是尽可 能地跟踪程序运行到那里。 因而依次地进行下面的检查: 1. 检查设置的倍频是否对。 2. 检查程序写到FLASH的数据是否对。 3. 检查设置RAM是否对。 4. 检查设置串口的波特率是否对。 一般进行四部份检查就找出大体的问题。我首先查了一下,我的开发板上的晶振是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上能运行的,在开发板,就不一定可以运行,就是这个 原因。 [ Last edited by caimouse on 2005-8-16 at 09:52 ] |
让我们的产品超越日本产品! |
相关文章
- 听说你想学机器学习,于是我特地写了这篇文章给你
- 什么是ARM?_arm开发板
- node 学习笔记 模块和包的管理与使用
- React源码学习入门(七)详解ReactMount入口
- 强化学习再登Nature封面,自动驾驶安全验证新范式大幅减少测试里程
- 机器学习训练中常见的问题和挑战!
- 我们和腾讯一同做了件事,想让困难学生免费学习 AI
- java学习笔记06–正则表达式详解编程语言
- 运行在 ARM 平台上的 Linux 系统(arm下的linux)
- 在 ARM 上安装 Linux 操作系统(arm安装linux)
- 华米CEO黄汪谈2017的人工智能战略:发力于深度学习平台与深度学习芯片
- 深度学习实践:如何使用Tensorflow实现快速风格迁移?
- Linux与ARM:开发前沿技术的挑战与机遇(linux与arm)
- ARM架构下搭建MySQL服务器(arm架构的mysql)
- MySQL性能优化从 ARM系统角度考虑(arm mysql 优化)
- 使用ARM板连接Oracle数据库(arm板连接oracle)
- 极速操作ARM下使用Oracle的连接方式(arm下连接oracle)
- 学习rust编写redis应用,大有可为(rust写redis)
- 开发Redis在ARM体系结构中的应用开发(redis 适配arm)