由于UBOOT大部份源程序已经修改好,目前就是修改网络部份了。由于网络设计,是采用了16位数据线的方式,还有RTL8019AS采用了9346的存储器,这样的设计都带来了很大的麻烦。因为是全新的东西,没有任何经验,也没有相应的仪器。所以开发这个RTL8019AS的网络驱动,就成为了一个很大的问题。
无论有多难,都要去面对的。要写RTL8019AS的驱动,首先的问题,就是找到S3C44B0访问RTL8019AS的寄存器,如果没有寄存器,就无法对它编程,也没有办法对它控制。那么它的寄存器地址是在那里呢?起先,我是从原理图上找到它的选片接线,是接到CPU的nGCS3上,那么它的地址肯定是从0X0600_0000开始了。接着看到我的RTL8019AS是16位的接线方式,那么它与CPU的连接方式是要从地址线1开始连接,因为S3C44B0对于8位,16位,32位的地址线输出是要求的。这样就可以算出RTL8019AS的地址是0x0600_0000再加上寄存器址左移一位,因为地址线0是不用的,只有1到5在使用。比如复位寄存器地址就是0x0600_0000+(0x1F<<1),这样就可以找到所有寄存器地址了。
地址找到了,那么我就要对它进访问。由于嵌入式的CPU是内存地址与寄存器地址是统一编址的,因此直接访问就行了。刚开始,我直接写寄存器,和读取寄器,发现数据全部都是0XFF,这显然是不对的。就当我修改为其它值,再读出来,都是0XFF,说明寄存器不响应。这时,我不知道是什么原因引起的。接着为了寻找这个问题,就找了一堆资料,结果都找不到。然后又查看硬件,又查找软件。都没有发现有什么问题,实在没有办法了。看到别人的板都没有9346这个存储器,是不是我的存储器有问题?我也搞不懂它。后来就把它拔下来,接着再试还是不行。读取寄存器,还是0XFF值。接着再查看RTL8019AS的DATASHEET,发现65脚跳线也是一个问题。我查看一下我的接线是接了一个电阻,然后再接到VDD上。我试着把这个电阻断开,让它是低电平。
后来一试,果然读写寄存器的值变了,不是0XFF了。说明这些寄存器有效了。
关键字:ARM开发 UBOOT 数据线
引用地址:
学习ARM开发(13)
推荐阅读最新更新时间:2024-11-18 10:56
苹果从英特尔等公司招聘20余名工程师 或将开发arm笔记本
据9to5Mac报道,苹果公司在勒冈州华盛顿县新建了硬件部门,并从英特尔等其他公司招聘了至少20名工程师,目前尚不清楚苹果将为该部门招聘多少员工,以及他们究竟将开发什么产品,基于最近有消息称苹果2020年要推出基于ARM的笔记本的消息,9to5Mac推测此次招聘可能与开发arm芯片有关。
[嵌入式]
一种基于ARM的嵌入式系统开发的方案详细讲解
1 背景介绍 在日益信息化的社会中,各种各样的嵌入式系统已经全面渗透到日常生活的每一个角落。嵌入式系统的功能越来越复杂,这就使得一个嵌入式系统产品从市场需求立项到方案选择、样机研制、定型量产所需要的开发费用越来越多,所需开发时间越来越长。因此,高效的嵌入式系统设计方法就显得尤为重要。 1.1 传统的嵌入式系统设计方法 嵌入式系统开发的关键就是对核心部分进行功能验证。传统的验证方法是建模模拟和制作目标板评估。 通过建模来进行功能验证存在不足。首先就是耗时和准确性互相矛盾。建立高层次的模型需要的时间短,但是模拟不够准确。相反,低层次的模型可以达到满意的评估效果,但是建模耗时长。其次,建模模拟是静态的过程,不能很好地反映系统实际
[单片机]
OK6410A 开发板 (八) 118 linux-5.11 OK6410A arm异常原因及linux应用场景及结果
异常之后,会返回吗? 应用程序会被杀掉吗?内核会崩溃吗? gic 还会一直中断吗? .section .vectors, ax , %progbits .L__vectors_start: W(b) vector_rst W(b) vector_und W(ldr) pc, .L__vectors_start + 0x1000 W(b) vector_pabt W(b) vector_dabt W(b) vector_addrexcptn W(b) vector_irq W(b) vector_fiq reset 异常 产生根本原因 通过管脚或寄存器访问对 c
[单片机]
ARM开发步步深入之MMU初窥
实验目的:启用MMU,映射SDRAM的地址空间,操作虚拟地址实现“点灯大法”,借此掌握MMU的使用。 实 验环境及说明:恒颐S3C2410开发板H2410。H2410核心板扩展有64MB的K4S561632 SDRAM(4M*16bit*4BANK),地址范围是0x30000000~0x33FFFFFF。GPIO端口的地址范围是 0x56000000~0X560000B0。 实 验思路:开发板上电启动后,自动将NandFlash开始的4K数据复制到SRAM中,然后跳转到0地址开始执行,然后初始化存储控制器SDRAM,把 2K后的代码从SRAM中复制到SDRAM中(存放在0x30004000,前16KB用来存放页表)、设置页表、启动
[单片机]
解密MFi认证:苹果数据线为何这么贵
在苹果中国商店,一条数据线的价格是149元人民币,这和一般用户的价格认知显然有很大的差距。为什么苹果数据线的价格这么贵?根本原因就是苹果通过MFi(Made for iPhone/iPod/iPad)认证控制了其“生态系统”。所有公司想生产苹果认证的配件,都必须进行MFi认证。那就请您跟随eeworld手机便携小编的脚步,来详细的了解下解密MFi认证:苹果数据线为何这么贵。 除了苹果原装的数据线外,苹果数据线一直存在巨大体量的第三方市场。有业内人士对记者介绍称,在深圳华强北,大品牌一个月售出的数据线就有数百万条,每月几十万条的厂家则不计其数。 安卓手机数据线通用,与各大安卓手机品牌采取“放养”方式管理不同
[手机便携]
学习嵌入式开发ARM的方法
1、嵌入式是什么? 2、嵌入式需要哪些知识? 知道了这两点,好办!我就开始规划学习路线。计算机的基本理论不能丢,于是重点看组成原理,数据机构,操作系统、c++.同时论坛上了解到,实时操作系 统ucos是一个很好的嵌入式操作系统,对初学者很好。于是我就买了一本书,但是代码在电脑里调不通,网上也有很多相同的问题,我就看书,分析代码,一遍 不行就两遍,三遍,这样才看了入了门,才知道什么是进程。原来看操作系统书时,根本就不知道进程是个什么东西。在这段时间掌握的东西不多,但是,对我以后 的影响很大,我想起了大学时一个同学跟我说过了一句话:大学里最重要的不是学到了什么,最重要的是学会怎么学!大概是这个意思。 学习嵌入式
[单片机]
ARM_Linux嵌入式开发环境配置
1.打开电脑超级终端进行配置串口(无串口可能还需要USB转串口); 2.安装USB驱动(独立安装,为上电时); 3.打开光盘中的dnw.exe 下载软件,可以看到USB 连接OK。 启动开发板时,把S2打到NOR一边,打开软件DNW,串口,上电,最后接上USB,不行,关电再开一次就OK了. 先按照开发板的内容,做一下,进行整体了解一下。 开发板采用的BIOS是基于三星原来的bootloader 之vivi 改进而来,名为Supervivi,它采用功能菜单的方式,并可以和原来的命令交互模式互相切换。 Supervivi 可以使用JTAG 板( 一般借助H-JTAG软件) 直接烧写入Nor Flash中使用,也可以直接烧
[单片机]
学习ARM开发(14)
由于在LINUX下开发还是比较麻烦,那么在WINDOWS下有没有更加方便简单的开发方法呢?答案是肯定的。当然不是选择ADS这样的开发工具,因为它成本太贵。就算使用盗版,也不会觉得心安理得,那么就要采用其它方案了。目前只有选择GCC的开发工具。经过不断地努力,总找到合适的ARM开发工具。它就是WINARM,采用它来开发,就大提高了工作效率,使写起代码来更加方便,编译更加快速,出错更容易修改,并且比较便宜,又可作为商业使用。 采用GCC编译器后,编译程序发了一个警告,它如下: init.h 13:29: warning: no newline at end of file 这个出错的意思,就是在文件尾没有结束行。这个东东是什么呢?
[单片机]