
嵌入式开发
文章平均质量分 76
硬件设计与嵌入式软件开发。
云上笛暮
关注公众号:imiraclecloud,了解更多精华知识 。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言快速回忆书签
1、编程开始#include#includeint main(){return 0;}return 0,将cpu使用权交个操作系统,int 返回一个整型.2、输入输出#include#includeint main(){int i ,j,h[10];printf("please input 10原创 2017-05-13 16:23:28 · 605 阅读 · 0 评论 -
数组与指针的区别
运行下面测试程序:#includeint main(viod){ char *p ="helloworld"; printf("%c,%d\n",p[0],&p[0]); printf("%d,%d\n",p,&p); return 0;}结果为:分析:指针的地址与指针访问数据的地址是不一样的,上面的例子中,指针的地址是1原创 2017-03-24 17:20:41 · 690 阅读 · 0 评论 -
C语言变量声明
int f ; 声明一个整形变量int *f; 一个指向整形的指针int f();把f声明为一个函数,它的返回值是一个整数; 先运行()int *f(); 首先调用(),因此f是一个函数,它的返回值类型是一个指向整型的指针int (*f)();f为一个函数指针,它所指向的函数返回一个整型值。int *(*f)();f是一个函数指针,它所指向的函数返回一个原创 2017-05-13 13:19:13 · 699 阅读 · 0 评论 -
linux学习(5)中断过程
1、ARM状态下各状态使用的寄存器2、CPSR中各位的意义3、中断操作过程1、中断控制器汇集各类外设发出的中断信号,告诉CPU2、CPU保存当前程序运行环境,调用ISR处理中断3、在ISR中通过读取中断控制器,外设的相关寄存器来识别这是哪个中断,并进行相应的处理4、清中断:通过读写中断控制器和外设的相关寄存器来完成5、恢复之前运行环境4、原创 2017-04-19 09:44:58 · 567 阅读 · 0 评论 -
linux学习(4) 不使用main函数启动的C程序——硬件启动
硬件在启动过程中,需经历硬件初始化和调用C函数,其中硬件初始化主要指设置访问地址(内存OR外设)、关闭看门狗。 在调用C程序之前,必须设置栈。 下面以JZ2440点亮一个led的过程进行分析 程序有两部分组成,硬件初始化程序+ C程序首先看硬件初始化代码:@***************************************************原创 2017-04-15 17:15:28 · 662 阅读 · 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 · 1911 阅读 · 0 评论 -
linux学习(2)基本开发流程
1、使用工具 1、SecureCRT 远程登录调试主机、本地调试下载开发板(通过USB) 2、FileZila 在本地计算机和linux主机进行文件传输 3、Source insight 查阅代码(可把u-boot工程文件,内核工程文件加入,方便代码查阅) 4、UltraEdit原创 2017-03-10 19:33:18 · 875 阅读 · 0 评论 -
linux学习(1)-基础
1、BootLoader是什么? 在操作系统内核运行之前运行。可以初始化硬件设备,建立内存映射图,从而将系统的软硬件带到一个合适的环境,以便为最终调用操作系统内核准备好正确的环境。它是嵌入式系统加电后执行的第一段代码,BootLoader是基于特定的硬件平台来实现的。原创 2017-03-04 11:31:46 · 733 阅读 · 0 评论 -
linux 下软件为什么相对小
linux 下软件为什么相对小原创 2016-09-12 21:40:21 · 622 阅读 · 0 评论 -
关于内存的几点收获
今天有个朋友想买surface pro4,在纠结是买买m3/4G/128G还是i5/4G/128G好。我本不是很了解,知道两者最大的区别也就是处理器的不同,一般i5以上的处理器已经是比较高性能的了,m3处理器偏向于低功耗,具有将较强的续航能力。 朋友一直在纠结内存4G够不够用,于是我去思考了这些问题,并在自己的电脑上做了一些相关的测试。 1,首先要知道,pc机在开机加载系统时,原创 2016-09-12 21:43:13 · 500 阅读 · 0 评论 -
CC3200寄存器操作
介绍:本文主要讲解CC3200寄存器操作中的 (*((volatile uint32_t *)(x))) 语句,内容牵涉到位带操作,volatile 关键字。在CC3200开发过程当中,使用的SDK开发都是库函数操作,即只需要调用相关的函数,确定相应的入口参数就可以实现特定功能。但是库函数归根结底的功能是操作寄存器中的相关位,通过一层一层的调用关系,你会发现,凡是对硬件的操作最终原创 2017-08-31 14:25:24 · 2371 阅读 · 0 评论 -
C语言结构体内存分布
1、字节对齐是为了提高效率,因为因为硬件平台的不同,数据总线可能从特定地址读取数据。2、原则 1、按数据类型自身地址对齐 2、整个结构体所占内存是成员变量中占 内存最大的变量的 整数倍3、举例子注意,变量的顺序不同,可能所占的空间也不一样。为原创 2017-06-25 20:51:43 · 2071 阅读 · 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 · 819 阅读 · 0 评论 -
CC3200 与 CC2530的SPI通信
目的:实现CC2530作为master,CC3200作为slave的SPI 通信 连接图如下 /*——————————————————————————– Master Slave ————- ————- | | | | |P1_4 SSN |———>|SSN原创 2016-12-01 21:55:48 · 3804 阅读 · 0 评论 -
51单片机学习
起源:在利用CC2530作为SPI主机与CC3200通信时,利用UART0的位置1配置4线SPI,在用IAR进行调试时,通过观察寄存器的数据变化,进一步去理解了下51单片机。基础类容:51单片机的内部结构如图1原创 2016-12-09 08:38:18 · 1065 阅读 · 0 评论 -
架构与内核
架构与内核原创 2016-07-13 22:16:10 · 2705 阅读 · 0 评论 -
C语言中变量的地址分配
CPU的内部架构和工作原理 为什么寄存器比内存快 存储器顺序:寄存器→Cache→内存→外存1、在C语言中,定义一个变量时,地址是如何分配的?原创 2017-02-28 10:30:19 · 5481 阅读 · 0 评论 -
电子设计中的一些基本知识(整理&组合)
1、晶体管 晶体管(transistor)是一种固体半导体器件,具有检波、整流、放大、开关、稳压、信号调制等多种功能。晶体管作为一种可变电流开关,能够基于输入电压控制输出电流。与普通机械开关(如Relay、switch)不同,晶体管利用电讯号来控制自身的开合,而且开关速度可以非常快,实验室中的切换速度可达100GHz以上。晶体管主要分为两大类:双极性晶体管(BJT)和场效应原创 2017-01-20 16:40:00 · 750 阅读 · 0 评论 -
嵌入式硬件系列
http://note.youdao.com/noteshare?id=85ad1107d5395156e27f4196257dc2a6原创 2017-07-07 11:30:00 · 446 阅读 · 0 评论 -
同步传输 与 异步传输
开门见山直接看图。解析:1、不管是同步还是异步,字符的发送时间和接受时间要一样。如一个字符发送为1秒,接受也需要为1秒(小于一秒的话,利用软件延时)2、同步异步最大的不同是:异步传输时,间隙可以不同步。比如,帧1传输完后 隔5秒传输帧2.间隙为5秒。再接受方,接受完帧1后,可以隔10秒再开始接受帧2. 而同步传输,间隙也必须一致。参考:http://bl原创 2017-07-07 15:48:47 · 3256 阅读 · 0 评论