s3c2440芯片累加汇编语言,S3C2440学习二(基础资源的使用)

②大概有多少资源模块?

ARM处理器共有37个寄存器:1) 31个通用寄存器,包括程序计数器(PC)。这些寄存器都是32位的;2)6个状态寄存器。这些寄存器也是32位的,但是只使用了其中的12位。

S3C2440的片内资源大概可分13类:一,1个LCD控制器(支持STN和TFT带有触摸屏的液晶显示器);二,SDRAM控制器;三,3个通道的UART;四,4个通道的DMA;五,4个具有PWM功能的计时器和1个内部时钟;六,触摸屏接口;七,I2C总线接口;八,2个USB主机接口,1个USB设备接口;九,2个SPI接口;十,SD接口和MMC卡接口;十一,看门狗计数器;十二,117位通用I/O口和24位外部中断源;十三,8通道10位AD控制器。

ARM9主要是一ARM920T为核心,进行上述外围的扩张,使其显示出强大的能力,主要是频率上去了,能做的事情就多了,重点ARM920T的内核稳定。

③对于ARM的寻址是指的RAM吗?对ROM如何寻址?

我理解的寻址是,CPU每部寄存器对立即数的处理,对内部寄存器的处理,如果需要运算的就把中间结果或状态放到RAM中,相当于打草稿,如果是需要使用数据就进入ROM调用,相当于ROM是资料库,如果运算的结果重要就存放到RAM中相当于存档。

其实寻址非常简单,RAM和ROM或FLASH都是对应不同的设备,有不同的驱动方式,还有就是有地址顺序,采用常用的命令,写入读出到相应的地址,一切就顺理成章了。

④有时候用ADS1.2编译程序会出错,但是将编译清楚后,重新编译后,可能会报警,但不会出错,这是预编译和连接中的问题吗?

据说是编译中有个*.O文件,可执行代码的生存,是编译后连接,大概编译后生成*.O文件,然后连接处理行不通了,前面编译大概是对每个文件每个文件的处理,得到许多中间文件,然后再系统性连接处理,说以从头再来过可以解决这个编译问题。

⑤程序中static的着用?

加static 是标明此函数为静态函数,即此函数只能在本文件中使用,不允许别的文件调用此函数.函数后面的const 关键字表示,这个函数的返回值是个常量类型。这个常量类型是有限制的。 他的生存期间就是在这个类中。

⑥我们知道最终在下载到硬件的是二进制代码,那么命令、数据、地址的区别和联系是什么?

对应硬件来说,每一行代码都是都有个存储顺序,可理解为按汇编的格式先装入操作命令,再是地址或寄存器,再是数据。虽然命令、数据、地址编译到最后就是二进制代码,但是他们有顺序,而且按照对应的命令就能自动分离了。再深入研究芯片的设计就能深入掌握了。

⑦RAM,ROM和flash的区别?

可以把他们看做不同的芯片、不同的设备,都能通过IO读写数据,他们都有各自的地址空间,但是RAM设计之初就是要求速度快,不用永久保留,而ROM要求永久保留(准确的是保留有效的时间,一般百十年就废了),flash又称为闪存,和ROM一个性质,主要是价格问题,做嵌入式不用想PC机要那么大,可以做小一点价格便宜。

⑧FIQ和IRQ的区别?

在ARM中,FIQ模式是特权模式中的一种,同时也属于异常模式一类。用于高速数据传输或通道处理,在触发快速中断请求(FIQ)时进入。

FIQ和IRQ(外部中断模式)之间有很大的区别。FIQ模式必须尽快处理,处理结束后离开这个模式;IRQ模式可以被FIQ模式中断,但IRQ不能中断FIQ模式;为使FIQ模式响应更快,FIQ模式具有更多的影子(Shadow)寄存器。FIQ模式必须禁用中断;如果一个中断例程必须重新启用中断,应使用IRQ模式而不是FIQ模式。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值