![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式系统
文章平均质量分 64
嵌入式软件和硬件
有趣才精彩,而不是精彩才有趣
展开
-
计算机基本概念--超标量,多发射
多发射:概念:是指存在多条流水线进行指令的译码, 取指令后,可以同时发射多条指令到不同的流水线进行译码。(和执行?)超标量:超标量是一条流水线中,存在多个执行部件,可以在上一条指令没有执行完成时,执行下一条指令。 即乱序执行。可以针对没有前后顺序关系的指令进行并行执行;超标量是对程序员透明的,是指令级别的并行;超标量是否意味着需要多条流水线?(好像不需要,如果有,好像最好?)超线程:概念:处理器可以同时执行多个指令,来自不同的线程;超线程是线程级别的并行,需要程序员显示的编写超.原创 2022-01-16 19:10:14 · 3243 阅读 · 1 评论 -
BootLoader基本作用的功能
1、初始化arm的异常向量表,设置异常向量表的地址(一般是0x00000000)2、设置处理器模式,进入svc模式,关闭irq frq3、配置CP15协处理器,关闭icache 关掉mmu和TLB4、板子初始化:DDR初始化 时钟系统初始化 从启动设备把操作系统、设备树、虚拟文件系统加载到DDR中 初始化串口5、设置参数并跳转到操作系统...原创 2019-08-01 09:24:53 · 1084 阅读 · 0 评论 -
tty consloe pty pts
注:本文资料全部来源于网络或书籍,同时加上个人理解。若有侵权,告知即删。若有错误,留言商讨。/dev目录下面一大堆tty*的字符设备文件,今天来理一理。虚拟控制台or虚拟终端:【ctrl+atl+f1~f6切换】,tty1 tty2等串口终端(ttyS*):系统中的串口设备的设备文件。是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等...原创 2019-07-25 10:57:24 · 353 阅读 · 0 评论 -
ARM内核架构和SOC架构
注:本文资料全部来源于网络或书籍,同时加上个人理解。若有侵权,告知即删。若有错误,留言商讨。0、ARM处理器功能扩展和架构演变1、cortex A9 (ARMv7指令集)-----传说中的CPU2、Exynos4412芯片框图-----传说中的SOC...原创 2019-07-17 13:13:22 · 7819 阅读 · 0 评论 -
DMA(待续)
关于DMA:DMA获取总线控制权,可能修改内存。如果修改的内存在cache中映射了,那么存在cache数据和DRAM数据不一致。解决方法:最简单的:将DMA访问的内存禁止cache。 DMA本身不属于一种外设,只是外设和内存数据交互的一种方式。Linux下的DMA编程:对于ISA设备,使用DMA传输数据,必须使用内存的最低16MB的地址空间。【kmalloc 和 __get_fr...原创 2019-07-09 21:26:27 · 168 阅读 · 0 评论 -
开发板使用--笔记--嵌入式Linux视频
实验6:设备注册注册在虚拟总线之上,平台设备中注册设备,然后编写驱动注册程序。注册方法:修改平台文件【/arch/arm/mach-exynos/mach-itop4412.c】,向平台文件中添加需要注册的设备结构体【platform_device】。系统启动时,平台设备自动注册该设备。实验7:驱动注册注册方法:编写platform_driver结构体,该结构体中的nam...原创 2019-07-12 17:23:02 · 567 阅读 · 0 评论 -
uboot简介
一般调试嵌入式开发板喜欢选择 利用 TFTP 传送 内核与 设备树, 利用 nfs 加载根文件系统。uboot 环境变量 设置如下:bootargs=root=/dev/nfs rw nfsroot=192.168.1.4:/exports/rfs ip=192.168.1.200 video=HDMI-A-2:1280x800Bootcmd tftp 0x4808000...原创 2019-07-08 19:00:18 · 711 阅读 · 0 评论 -
嵌入式ARM Linux系统
1、32位Linux系统,内核使用高端内存的vmalloc区来映射IO地址空间。具体地址可以自己定义。例如:三星4412提供的源码使用0xF6000000 至0xF6000000+96MB的内存空间映射IO端口的寄存器。2、有两种方式来进行映射:动态映射:ioremap() 静态映射:map_desc结构体数组中定义映射,系统初始化期间,根据结构体的映射方式建立页表。3、内...原创 2019-07-03 08:50:15 · 271 阅读 · 0 评论 -
开发板使用--基本概念
Linux内核zlmage里面包括了基本硬件的驱动,因为驱动程序也属于内核,管理硬件资源。ramdisk-uboot是一个基于ram的文件系统,被uboot加载到ram中,内核需要先挂载这个文件系统,相当于一个虚拟根文件系统。临时过渡用的,目的是为了精简内核,使得内核不必包括所有种类的块设备文件的驱动程序。而是先挂载基于RAM的文件系统,就不需要包括哪些SICI等设备的驱动了。在 L...原创 2019-06-27 22:10:28 · 460 阅读 · 0 评论 -
优先级反转
参考:https://blog.csdn.net/u014089131/article/details/740110841、优先级反转: 由于多进程共享资源,具有最高优先权的进程被低优先级进程阻塞,反而使具有中优先级的进程先于高优先级的进程执行,导致系统的崩溃。这就是所谓的优先级反转(Priority Inversion)。2.、产生原因其实,优先级反转是在高优级(...原创 2019-06-10 22:07:51 · 149 阅读 · 0 评论 -
嵌入式系统 存储体系和存储介质
1、RAM(random access memory):(都属于易失性存储器)SRAM:静态随机存储器,6个晶体管存储一位数据,功耗大,面积大DRAM:动态随机存储器,一个晶体管和一个电容存储一位数据,便宜简单,需要刷新SDRAM:同步动态随机存储器,需要同步时钟,需要刷新DDR(double data rate) SDRAM:双通道同步SDRAM。一个时钟可以读取两个数据...原创 2019-06-03 21:21:21 · 2819 阅读 · 0 评论 -
CRC校验原理
CRC:循环冗余校验原理:发送端采用模2除法,在原数据后面加校验位。接收端将接受的数据也采用模2除法,取出原数据。当接收端余数为0的时候说明接受正确。模2除法:除数选择:用户随机选择,假设k位。一般以多项式表示。假如是1110被除数:原数据在后面添加k-1个0。【用途:用以求除数的余数】假如是100101CRC校验步骤:1、设定一个接收端和发送端都认可的除数.k位...原创 2019-06-03 16:55:50 · 505 阅读 · 0 评论 -
网络协议
TCP/IP 是互联网相关的各类协议族的总称,比如:TCP,UDP,IP,FTP,HTTP,ICMP,SMTP 等都属于 TCP/IP 族内的协议。像这样把与互联网相关联的协议集合起来总称为 TCP/IP。网络参考模型:OSI 参考模型:是 ISO 的建议,它是为了使各层上的协议国际标准化而发展起来的。OSI 参考模型全称是开放系统互连参考模型(Open System Interco...原创 2019-05-23 20:10:20 · 134 阅读 · 0 评论 -
指令寻址方式
1、立即数寻址:操作数就包含在指令中,作为指令的一部分。2、寄存器寻址:3、直接寻址:在指令中直接给出该操作数的有效地址,这种寻址方式为直接寻址方式。4、寄存器间接寻址:操作数有效地址在SI、DI、BX、BP这四个寄存器之一中。在不使用段超越前缀的情况下,如果有效地址在SI、DI和BX中,则以DS段寄存器中的内容为段值。如果有效地址在BP中,则以SS段寄存器中的内容为段值。5、寄存...原创 2019-05-19 15:26:17 · 2356 阅读 · 0 评论 -
常用的嵌入式通信协议
总线 串并口 同步/异步 速率 工作方式 线数 拓扑 通信距离 UART 串 异步 慢 全双工 2线 458支持总线型 远 USRT 串 同步 全双工 三线 I2C 串 同步 慢100K、400K 半双工 2线 总...原创 2019-05-05 10:33:30 · 1704 阅读 · 0 评论