ARM
文章平均质量分 61
ARM学习心得
Wu Junwu
2022年7月研究生毕业从事嵌入式软件开发工作
展开
-
s5pv210开发板刷机过程中的注意事项
SD卡刷机方法注意一:串口终端输入fastboot后出现erro:no MBR is found at SD/MMC解决方法:先在终端输入fdisk -c 0重新对SD卡进行分区,然后再fastboot注意二:在插入SD卡进行进行烧录时候,首先需要在串口终端输入fastboot,然后再在Windows的cmd命令行中输入fastboot devices 进行开发板设备的是否连接的检测,最后命令行中会出现SMDKC110-01 fastboot字样但是,如果没有首先在串口终端输入fastb原创 2021-03-04 22:50:05 · 770 阅读 · 2 评论 -
ubuntu上网问题以及ping通网络设备
问题一:ubuntu上网问题如何ping www.baidu.com?Ubuntu上网模式有两种:桥接和NAT1、 桥接模式:前提是:主机是连接的无线网,主机有线网卡的IP设置的是“自动获得IP”:第一步:虚拟机→设置→网络适配器→网络连接中选择“桥接模式”→确定第二步(情况一):编辑→虚拟网络编辑器→桥接到无线网卡第三步:vi etc/network/interfaces文件中设置dhcp方式;然后重启网卡。这种设置的结果是:(1)Ubuntu的网络连接上,可以ping www.ba原创 2021-02-03 01:50:11 · 9235 阅读 · 0 评论 -
为什么要内存对齐?
为什么要内存对齐?首先:内存是以字节为单位,但是处理器并不会按照一个字节为单位去存取内存。它一般会以双字节,四字节,8字节,16字节甚至32字节为单位来存取内存,我们将上述这些存取单位称为内存存取粒度。对于现代计算机硬件来说,内存只能通过特定的对齐地址(比如按照机器字)进行访问。举个例子来说,比如在64位的机器上,不管我们是要读取第0个字节还是要读取第1个字节,在硬件上传输的信号都是一样的。因为它都会把地址0到地址7,这8个字节全部读到CPU,只是当我们是需要读取第0个字节时,丢掉后面7个字节,当我们是需转载 2021-01-08 22:47:13 · 389 阅读 · 0 评论 -
汇编:中断模式下的现场保护和恢复现场的“疑惑点”——pc为什么减4而不是减8?
// 在这个汇编函数中,用来做中断模式下的现场保护和恢复,并且调用真正的中断处理程序IRQ_handle: // 设置IRQ模式下的栈 ldr sp, =IRQ_STACK // 保存LR // 因为ARM有流水线,所以PC的值会比真正执行的代码+8, sub lr, lr, #4 // 保存r0-r12和lr到irq模式下的栈上面 stmfd sp!, {r0-r12, lr} // 在此调用真正的isr来处理中断 bl irq_handler // 处理完成开始恢复现场,其实就是原创 2020-09-26 22:49:22 · 1550 阅读 · 0 评论 -
为什么在给寄存器(端口)进行配置时,常常是进行位操作而不直接赋值呢?
为什么在给寄存器(端口)进行配置时,常常是进行位操作而不直接赋值呢?因为我们在对寄存器进行配置时也不一定对其所有的位都需要配置,比如我们对32位的ARM单片机的某个寄存器进行位配置时,我们往往是对32位中的某几位进行配置,其他的位我们并不需要配置,我们希望它保持原来的初始状态(保持初始状态的好处是:当我们在下一次需要对它进行配置时,我们就不用去判断这些位的初始状态是什么)。我们如果对其进行直接赋值,我们还需要考虑其他不需要配置位的初始值到底是0还是1后才能对该寄存器赋值,但是如果我们利用位操作,那么我们原创 2020-09-24 19:12:01 · 1276 阅读 · 0 评论 -
统一编址与独立编址、I/O端口与I/O内存
声明:该文章转至网络,因为作者不明,特此声明感谢!!!理解“统一编址与独立编址、I/O端口与I/O内存”引言: 从CPU连出来一把线:数据总线、地址总线、控制总线,这把线上挂着N个接口,有相同的,有不同的,名字叫做存储器接口、中断控制接口、DMA接口、并行接口、串行接口、AD接口……一个设备要想接入,就用自己的接口和总线上的某个匹配接口对接……于是总线上出现了各种设备:内存、硬盘,鼠标、键盘,显示器…… 对于CPU而言,如果它要发数据到某个设备,其实是发到对应的接口,接口电路原创 2020-09-23 15:36:07 · 4066 阅读 · 0 评论 -
为什么寄存器处理数据的速度比内存快?
为什么寄存器处理数据的速度比内存快?计算机的存储层次(memory hierarchy)之中,寄存器(register)最快,内存其次,最慢的是硬盘。同样都是晶体管存储设备,为什么寄存器比内存快呢?Mike Ash写了一篇很好的解释,非常通俗地回答了这个问题,有助于加深对硬件的理解。下面就是我的简单翻译。原因一:距离不同距离不是主要因素,但是最好懂,所以放在最前面说。内存离 CPU比较远,所以要耗费更长的时间读取。以3GHz的CPU为例,电流每秒钟可以振荡30亿次,每次耗时大约为0.33纳转载 2020-08-16 13:42:16 · 2449 阅读 · 1 评论 -
ARM汇编概念(1): 什么是链接地址、运行地址、存储地址? 什么是位置无关码、位置有关码? ldr和adr的理解?
ARM汇编概念(1):什么是链接地址、运行地址、存储地址?什么是位置无关码、位置有关码?ldr和adr的理解?参考来源:http://blog.sina.com.cn/s/blog_93339c560102wjqm.html链接地址:在链接脚本里指定内存地址,编译时指定的代码运行时应该所处的内存地址。它是绝对地址(编译后的定值)。运行地址:当前代码运行时实际所处的地址。它是相对地址(相对于当前程序开始运行时的内存地址)。存储地址:代码烧写到ROM中的地址,比如NANDFLASH。链接地原创 2020-08-12 20:49:42 · 1622 阅读 · 0 评论