嵌入式开发
硬件设计与嵌入式软件开发。
云上笛暮
关注笛暮团队,学到更多精华知识 。公众号:imiraclecloud
展开
-
KVM-Qemu-Libvirt三者之间的关系
QemuQemu是一个模拟器,它向Guest OS模拟CPU和其他硬件,Guest OS认为自己和硬件直接打交道,其实是同Qemu模拟出来的硬件打交道,Qemu将这些指令转译给真正的硬件。由于所有的指令都要从Qemu里面过一手,因而性能较差。KVMKVM是linux内核的模块,它需要CPU的支持,采用硬件辅助虚拟化技术Intel-VT,AMD-V,内存的相关如Intel...转载 2019-11-30 13:10:06 · 642 阅读 · 0 评论 -
VMWare+Ubuntu+KVM+VNC虚拟机安装配置
实操安装时,查阅了很多资料,下面这篇博文很适合在windows上装了 Vmware workstation,再在workstation上装Ubuntu,再在Ubuntu上安装KVM的学习者。1. 宿主机环境搭建在本文中的宿主机不是使用的物理主机,而是利用vmware虚拟处理的宿主机,也就是说宿主机是配置是vmware+ubuntu16,系统的安装就不详细介绍网上相应的文档较多,下面主要介绍...转载 2019-11-30 12:46:45 · 1859 阅读 · 0 评论 -
Linux 内核剖析
由于本文的目标是对 Linux 内核进行介绍并探索其体系结构和主要组件,因此首先回顾一下 Linux 的简短历史,然后从较高的层次审视 Linux 内核的体系结构,最后介绍它的主要子系统。Linux 内核具有超过 600 万行的代码,因此本文不可能进行完整的介绍。请使用指向其他内容的链接进一步学习。Linux 的简短历史尽管 Linux 绝对是最流行的开源操作系统,但是相对于其他操作系统的...转载 2019-11-30 12:23:23 · 141 阅读 · 1 评论 -
linux学习(5)中断过程
1、ARM状态下各状态使用的寄存器2、CPSR中各位的意义3、中断操作过程1、中断控制器汇集各类外设发出的中断信号,告诉CPU2、CPU保存当前程序运行环境,调用ISR处理中断3、在ISR中通过读取中断控制器,外设的相关寄存器来识别这是哪个中断,并进行相应的处理4、清中断:通过读写中断控制器和外设的相关寄存器来完成5、恢复之前运行环境4、原创 2017-04-19 09:44:58 · 515 阅读 · 0 评论 -
linux学习(4) 不使用main函数启动的C程序——硬件启动
硬件在启动过程中,需经历硬件初始化和调用C函数,其中硬件初始化主要指设置访问地址(内存OR外设)、关闭看门狗。 在调用C程序之前,必须设置栈。 下面以JZ2440点亮一个led的过程进行分析 程序有两部分组成,硬件初始化程序+ C程序首先看硬件初始化代码:@***************************************************原创 2017-04-15 17:15:28 · 595 阅读 · 0 评论 -
Linux学习(3)应用程序与驱动程序是如何连接的?
首先看一张韦东山老师给出的系统图:在驱动开发过程中,首先是编写驱动代码。对于字符设备驱动的框架,可以归纳如下:1,写出具体驱动函数,如 led_open(),led_read(),led_write()等如 static int first_drv_open(struct inode *inode, struct file *file){//printk("原创 2017-03-21 23:10:14 · 1651 阅读 · 0 评论 -
linux学习(2)基本开发流程
1、使用工具 1、SecureCRT 远程登录调试主机、本地调试下载开发板(通过USB) 2、FileZila 在本地计算机和linux主机进行文件传输 3、Source insight 查阅代码(可把u-boot工程文件,内核工程文件加入,方便代码查阅) 4、UltraEdit原创 2017-03-10 19:33:18 · 727 阅读 · 0 评论 -
linux学习(1)-基础
1、BootLoader是什么? 在操作系统内核运行之前运行。可以初始化硬件设备,建立内存映射图,从而将系统的软硬件带到一个合适的环境,以便为最终调用操作系统内核准备好正确的环境。它是嵌入式系统加电后执行的第一段代码,BootLoader是基于特定的硬件平台来实现的。原创 2017-03-04 11:31:46 · 678 阅读 · 0 评论 -
linux 下软件为什么相对小
linux 下软件为什么相对小原创 2016-09-12 21:40:21 · 530 阅读 · 0 评论 -
PCB布线注意事项
1.布局在正式走线之前要对PCB的大体格局进行规划,布局规划基本原则:(1)在PCB布板之前首先要打印出相应的原理图,然后根据原理图确定整个PCB板的大体布局即各个模块的位置安排;(2)PCB板的形状如无其他要求,一般为矩形,长宽比为4:3或3:2;(3)考虑面板上元件的放置要求;(4)考虑边缘接口。2.元件放置(1)芯片尽可能正放;转载 2016-11-15 11:02:56 · 1649 阅读 · 0 评论 -
电子元器件分类
电子元器件的分类 电子元器件有多种分类方式,应用于不同的领域和范围。 1.按制造行业划分——元件与器件 元件与器件的分类是按照元器件制造过程中是否改变材料分子组成与结构来区分的,是行业划分的概念。在元器件制造行业,器件是由半导体企业制造,而元件则由电子零部件企业制造。 元件:加工中没有改变分子成分和结构的产品。例如电阻、电容、电感器、电位器、变压器、连接转载 2016-11-15 10:36:15 · 7679 阅读 · 0 评论 -
关于内存的几点收获
今天有个朋友想买surface pro4,在纠结是买买m3/4G/128G还是i5/4G/128G好。我本不是很了解,知道两者最大的区别也就是处理器的不同,一般i5以上的处理器已经是比较高性能的了,m3处理器偏向于低功耗,具有将较强的续航能力。 朋友一直在纠结内存4G够不够用,于是我去思考了这些问题,并在自己的电脑上做了一些相关的测试。 1,首先要知道,pc机在开机加载系统时,原创 2016-09-12 21:43:13 · 449 阅读 · 0 评论 -
CC3200寄存器操作
介绍:本文主要讲解CC3200寄存器操作中的 (*((volatile uint32_t *)(x))) 语句,内容牵涉到位带操作,volatile 关键字。在CC3200开发过程当中,使用的SDK开发都是库函数操作,即只需要调用相关的函数,确定相应的入口参数就可以实现特定功能。但是库函数归根结底的功能是操作寄存器中的相关位,通过一层一层的调用关系,你会发现,凡是对硬件的操作最终原创 2017-08-31 14:25:24 · 1986 阅读 · 0 评论 -
C语言结构体内存分布
1、字节对齐是为了提高效率,因为因为硬件平台的不同,数据总线可能从特定地址读取数据。2、原则 1、按数据类型自身地址对齐 2、整个结构体所占内存是成员变量中占 内存最大的变量的 整数倍3、举例子注意,变量的顺序不同,可能所占的空间也不一样。为原创 2017-06-25 20:51:43 · 1955 阅读 · 0 评论 -
CC3200 与 CC2530的SPI通信
目的:实现CC2530作为master,CC3200作为slave的SPI 通信 连接图如下 /*——————————————————————————– Master Slave ————- ————- | | | | |P1_4 SSN |———>|SSN原创 2016-12-01 21:55:48 · 3667 阅读 · 0 评论 -
51单片机学习
起源:在利用CC2530作为SPI主机与CC3200通信时,利用UART0的位置1配置4线SPI,在用IAR进行调试时,通过观察寄存器的数据变化,进一步去理解了下51单片机。基础类容:51单片机的内部结构如图1原创 2016-12-09 08:38:18 · 944 阅读 · 0 评论 -
架构与内核
架构与内核原创 2016-07-13 22:16:10 · 2587 阅读 · 0 评论 -
C语言中变量的地址分配
CPU的内部架构和工作原理 为什么寄存器比内存快 存储器顺序:寄存器→Cache→内存→外存1、在C语言中,定义一个变量时,地址是如何分配的?原创 2017-02-28 10:30:19 · 5223 阅读 · 0 评论 -
电子设计中的一些基本知识(整理&组合)
1、晶体管 晶体管(transistor)是一种固体半导体器件,具有检波、整流、放大、开关、稳压、信号调制等多种功能。晶体管作为一种可变电流开关,能够基于输入电压控制输出电流。与普通机械开关(如Relay、switch)不同,晶体管利用电讯号来控制自身的开合,而且开关速度可以非常快,实验室中的切换速度可达100GHz以上。晶体管主要分为两大类:双极性晶体管(BJT)和场效应原创 2017-01-20 16:40:00 · 669 阅读 · 0 评论 -
嵌入式硬件系列
http://note.youdao.com/noteshare?id=85ad1107d5395156e27f4196257dc2a6原创 2017-07-07 11:30:00 · 392 阅读 · 0 评论 -
同步传输 与 异步传输
开门见山直接看图。解析:1、不管是同步还是异步,字符的发送时间和接受时间要一样。如一个字符发送为1秒,接受也需要为1秒(小于一秒的话,利用软件延时)2、同步异步最大的不同是:异步传输时,间隙可以不同步。比如,帧1传输完后 隔5秒传输帧2.间隙为5秒。再接受方,接受完帧1后,可以隔10秒再开始接受帧2. 而同步传输,间隙也必须一致。参考:http://bl原创 2017-07-07 15:48:47 · 3005 阅读 · 0 评论 -
栈与堆
7. Memory : Stack vs HeapTable of ContentsStack vs HeapThe StackThe HeapStack vs Heap Pros and ConsStackHeapExamplesWhen to use the Heap?LinksStack vs HeapSo far we have转载 2017-08-15 08:43:39 · 230 阅读 · 0 评论 -
当谈论ARM架构时,至少该谈点什么?
我认为以下几点应该被谈到。1、RISC2、ARM指令和Thumb指令,ARM状态和Thumb状态3、处理器模式4、寄存器5、寻址模式6、指令集7、异常8、存储器系统9、实例接下来,具体谈谈。1、RISCRISC(精简指令集计算机)是相对于CISC(负载指令集计算机)而来的。根据统计,在计算机程序运行时,有20%的指令被反复使用,约占整个程序的80原创 2017-08-21 22:44:19 · 612 阅读 · 0 评论