范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Linux嵌入式编程总结1

  1、volatile关键字的用法
  volatile是一个特征 修饰符(type specifier). volatile 的作用是作为指令关键字,确保本条指令不会因 编译器的优化而省略,且要求每次直接读值。
  volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。
  大家都应该知道 volatile 主要作用有两点: - 保证变量的内存可见性 - 禁止指令重新排序
  2、arm c语言RESERVED1[3]什么作用
  这种写法主要用在硬件寄存器的定义,很多 ARM MCU 在设计时,会保留一段(几个至几十上百不等)空间作为将来扩展的功能,或者高档 MCU 阉割为低档 MCU,又需要做到向上兼容,而采取的屏蔽某些功能寄存器的做法。
  struct ADC {
  uint32_t CTRL;
  uint32_t DATA;
  uint32_t RESERVED[2]; // 这里有两个 word 的空间保留,可能在高档 MCU 上有实际定义
  uint32_t FLAGS;
  };
  3、makefile的一些总结
  target:目标
  cc:编译器
  LD:连接器
  CPP代表"C预处理器"> CXX是一个C编译器> AS是汇编语言编译器> AR是一个存档维护程序
  objcopy:复制选项
  objdump 反编译选项
  INCDIRS:头文件路径
  srcdirs:源文件路径
  INCLUDE:包含路径
  SFILES:源文件
  CFILES:复制文件
  SFILENDIR;提取源文件名
  CFILENDIR;复制文件提取文件
  例子:
  CROSS_COMPILE ?= arm-linux-gnueabihf-
  TARGET ?= bsp
  CC := $(CROSS_COMPILE)gcc #$(变量名)引用变量
  LD:= $(CROSS_COMPILE)ld
  OBJCOPY := $(CROSS_COMPILE)objcopy
  OBJDUMP := $(CROSS_COMPILE)objdump
  #整个工程的.h头文件目录,""表示换行符
  INCDIRS := imx6ul
  bsp/clk
  bsp/led
  bsp/delay
  #整个工程的所有.c和.s文件
  SRCDIRS:= project
  bsp/clk
  bsp/led
  bsp/delay
  #$(subst ,,)将字符串中的内容替换为
  # $(patsubst ,,) 和上面一样但是多了"%".
  # $(dir ) 提取目录.如$(dir ) 还回/src.
  # $(notdir ) 提取文件名.如$(notdir ) 还回a.c
  # $(foreach , ,) 把参数中的单词逐一取出来放到参数中,然后再执行所包含的表达式。
  # 每次都会返回一个字符串,循环的过程中,中所包含的每个字符串会以空格隔开,最后当整个循环结束时,
  # 所返回的每个字符串所组成的整个字符串将会是函数 foreach 函数的返回值。
  INCLUDE:= $(patsubst %, -I %, $(INCDIRS))
  SFILES:= $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.S))
  CFILES:= $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.c))
  SFILENDIR:= $(notdir $(SFILES))
  CFILENDIR:= $(notdir $(CFILES))
  SOBJS:= $(patsubst %, obj/%, $(SFILENDIR:.S=.o))#放入obj文件夹
  COBJS:= $(patsubst %, obj/%, $(CFILENDIR:.c=.o))
  OBJS:= $(SOBJS) $(COBJS)
  VPATH:= $(SRCDIRS)
  # "="变量的真实值取决于它所引用的变量的最后一次有效值.
  #":="不会使用后面定义变量的值.
  #"?="若前面没有赋值则现在赋值.若已经赋值则用之前的值.
  #"+="追加变量的内容.
  .PHONY: clean #伪目标clean. 避免生成文件,规则后面的命令会执行.
  $(TARGET).bin : $(OBJS)
  $(LD) -Timx6ul.lds -o $(TARGET).elf $^
  $(OBJCOPY) -O binary -S $(TARGET).elf $@
  $(OBJDUMP) -D -m arm $(TARGET).elf > $(TARGET).dis
  #"%"目标中表示对文件名的匹配.或者表示模式规则.
  $(SOBJS) : obj/%.o : %.S #所有的.c和.s文件.
  $(CC) -Wall -nostdlib -c -O2 $(INCLUDE) -o $@ lt;
  #$@表示表示匹配模式中定义的目标集合.
  #lt;符合模式的一系列文件集合.
  $(COBJS) : obj/%.o : %.c
  $(CC) -Wall -nostdlib -c -O2 $(INCLUDE) -o $@ lt;
  clean:
  rm -rf $(TARGET).elf $(TARGET).dis $(TARGET).bin $(COBJS) $(SOBJS)
  #通配符"%"只能用在规则中,只有在规则中它才会展开,如果在变量定义和函数使用时,
  #通配符不会自动展开,这个时候就要用到函数 wildcard,$(wildcard *.c) 功能和%一样.
  例子二:
  led.bin : crt0.S led.c 指的是依赖关系,led.bin是目标文件,:后面是依赖文件
  arm-linux-gcc 编译选项 -o  编译及链接,会生成一个exe可执行文件 -Wall  指定产生全部的警告信息 -O/-O2/-O3  数字越高,代表优化的更多,可以使生成的执行文件的提高执行效率 -c  编译不链接,会生成一个*.obj文件,若后面加了-o,则表示指定输出文件名称 -static  静态链接,生成的文件会非常大, 好处在于不需要动态链接库,也可以运行 -S  只激活预处理和编译,就是指把文件编译成为汇编代码
  例如:
  arm-linux-gcc -c -o led.o led.c :编译不链接
  arm-linux-gcc -o led led.c :编译以及链接
  arm-linux-ld 连接选项 -Ttext 0x00000000  指代码段头地址为0x00000000 -T链接脚本  指使用链接脚本来进行更复杂的地址设置,包括了代码段,数据段,bss段等 -o  后面指的将多个文件连接在一起,生成一个obj文件,上面的名称是led_elf。  -pie        生成动态链接地址段,一般在新版uboot里会看到
  arm-linux-objcopy 复制选项,支持格式转换 -O binary  用来指定生成文件按照后面的格式来输出,其中binary是指生成二进制(.bin)文件。 -S  不从源文件中复制重定位信息和符号信息到目标文件中去
  arm-linux-objdump 反编译选项 -D  反编译所有段 -b binary  指定反编译目标文件格式 -m ram  指定反编译目标文件所需的架构,这里是ram架构
  4、芯片的时钟晶振
  PLL(Phase Locked Loop): 为锁相回路或 锁相环,用来统一整合时钟信号,使高频器件正常工作,如内存的存取资料等。PLL用于振荡器中的反馈技术。 许多电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步。一般的晶振由于工艺与成本原因,做不到很高的频率,而在需要高频应用时,由相应的器件VCO{ 压控振荡器指 输出频率与输入控制电压有对应关系的振荡电路(VCO),频率是输入信号电压的 函数的振荡器VCO,振荡器的工作状态或振荡回路的元件参数受输入控制电压的控制,就可构成一个压控振荡器。voltage-controlled oscillator },实现转成高频,但并不稳定,故利用锁相环路就可以实现稳定且高频的时钟信号。
  锁相环路是一种反馈控制电路,简称锁相环(PLL,Phase-Locked Loop)。锁相环的特点是:利用外部输入的参考信号控制环路内部振荡信号的频率和相位。因锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。锁相环通常由鉴相器(PD,Phase Detector)、环路滤波器(LF,Loop Filter)和压控振荡器(VCO,Voltage Controlled Oscillator)三部分组成,锁相环组成的原理框图如图1所示:
  锁相环中的鉴相器又称为相位比较器,它的作用是检测输入信号和输出信号的相位差,并将检测出的相位差信号转换成uD(t)电压信号输出,该信号经低通滤波器滤波后形成压控振荡器的控制电压uC(t),对振荡器输出信号的频率实施控制。

影响手机体验的不只是CPU,这4点更为重要,但外行人却选择忽视其实,手机的流畅度不仅仅取决于CPU,还与移动处理器中的其他相关处理单元存储空间软件优化等一系列因素有着紧密的关系。另外,特别需要强调的是,现在手机的网络连接性能同样重要,网络连接平时刷不到,中秋跑不了!广东出游小米这三个功能必备又是中秋佳节,各大旅游区爆满,人挤人,想要过一个舒服的中秋真是不容易。小米手机有很多功能,可以让你在出行时更加便捷,但是很多人平时刷不到不知道。今天,就让我来介绍这三个功能!红外遥盘点5G智能手机那些给了却基本不用不实用的功能和配置1无线充电不能说一无是处起码不用插手机可是还是要插电源且大部分原装有线充都比无线充电快。2阳光屏关闭自动亮度后在强光环境下自动调整亮度防止屏幕亮度过低。这个我就想喷了要不打开阳光屏新的支付方式来了,背后有国家大力支持,许多城市已开始试行科技发展的同时,人们的支付方式也已经出现明显的变化,据相关数据统计,如今我国使用移动支付的人已经多达8亿多人,城市和农村都开始迅速普及,现在人们出行哪怕不带现金也可以完成支付,给我苹果的七分钟之旅展示了iPhone13的新功能苹果发布一段七分半钟的视频充当iPhone13和13Pro功能的导游,并使阵容的差异更加清晰。在片段中,苹果还展示了手机的一些新视频和相机功能,如电影模式摄影风格和微距摄影,并强调为什么现在没有再出现过对人类发展产生巨大变革的发明和发现?这个问题不是有些答题者答得那么简单,认真分析起来还是蛮复杂的。题目说的是自从计算机发明以来,就没有什么大的发明和发现了。一些人回答说现在信息大爆炸,发展迅猛,手机支付宝等完全改变了多多云手机99狂欢日买一得二,一份钱两部手机双倍时间现如今,手机已经成为了我们生活当中不可缺少的一部分,除了用它来进行沟通交流以外,手机也是我们日常工作学习和游戏娱乐的重要工具。多多云手机顺应当今科技的进步和网络的发展而生。云手机可Win11将减少磁盘占用功能可以按需加载Win11将于10月5日面世,它带来了几个重要的设计变化,包括上下文菜单和通知中心的新设计。据微软高管称,Win11将减少各种预装App的磁盘占用。Win11对操作系统和App的压ios15凌晨更新,有用的功能可能就这几个在21日凌晨一点左右,ios15将开始推送,很多朋友不知道ios15更新了什么,到底有什么有用的功能,是否应该更新。对于普通用户来说,可能有用的功能也就是下面的几条。1。实况文本,看看颜值功能全在线的惠威音响,瞬间将你的客厅变成歌影厅当代年轻人工作生活压力大,假期休息的时候都喜欢到K房电影院等娱乐场所释放压力。但由于疫情反复原因,很多地方的K房电影院都可能随时关闭,年轻人为数不多的娱乐方式没有了。加上中秋国庆长微信支付宝封杀!这种开挂功能,被彻底关闭前段时间,企鹅QQ推动用户实名制的事儿,估计大家都有所耳闻。那时候QQ搞了个规定,只有绑定手机号才能继续登录使用。而且绑定手机号的过程还很严格,搞错一个步骤就得重头开始。当然啦,Q
专家表示数字经济发展为企业带来新机遇2021中国企业家博鳌论坛中国财富峰会日前在海南博鳌举办。与会嘉宾认为,在数字经济发展大趋势下,要推动数字经济与实体经济融合发展,传统产业需转型升级。企业要抓住数字经济发展新机遇,中概明天暴跌,我会继续买入周末中概股的消息大家也知道了。滴滴退市,中概股大跌。原因是,美国证监会公布外国公司问责法案的实时细则(SEC),要求美国上市的外国公司提供审计细节和更多所有权机构,如连续三年不满足原本十分泛滥的山寨手机为什么现在很少见了?当年的山寨手机是质次价低,虽然质量不咋的,但是便宜啊,所以有市场。现在各大品牌手机也是全线开花,高中低档都有,选择面越来越宽,山寨手机的价格优势没了,自然就消失了。大家伙的钱包也越京东在走下坡路吗?京东会不会走下坡路?这个问题要看京东会不会出现严重的经营问题?我们先看看京东的优势,京东在3c上对比阿里和拼多多,还有苏宁等等等,做的都要好,京东采取的是仓储物流,在京东自营来说,如果倪光南有能力搞出芯片的,那任正非为什么不去聘他来华为呢?不要通过神话一个专家然后再诋毁他,不要用这种假设的方式捧杀一个院士,你这是高级黑,实质是希望抹杀倪光南院士的贡献,否定倪光南的技术实力,居心不良。芯片的研发需要很强的技术团队,也需如何抠图换背景?零基础进阶篇,如何抠图换背景详细教程,值得收藏学习利用PS换背景非常简单,并没有你想象的一使用PS就非常难,循环渐进学习最真实的换背景方法,让你爱上PS,爱上摄影。今天教大家如何利西门子海尔和三星哪个品牌的冰箱更好一些?冰箱这种产品最重要的部件就是压缩机,所以选冰箱就是选压缩机和保鲜技术?西门子以前一直是高端电器的代名词,因罗永浩事件,品牌形象受损严重。虽然事件也暴露了西门子在品控方面出现问题,但联想杨柳二人最终的结局是什么样的?他们已经走上了历史的审判台,十四亿人民的正义之声,就是人民的审判!社会主义企业也要正衣冠照镜子,好好回头看看自己到底是什么东西,屁股坐到了哪里?要查查,要说说,以保证我们的经济建设动动手指就能使唤家具!这背后的技术你知道吗?你的居住理想是什么呢?随着智能终端设备以及物联网技术的快速普及,智能家居逐渐走入人们的生活。在北京市朝阳区某智能家居体验中心,一个个智慧家庭样板间让人眼花缭乱。在这里,智能语音家电市值一年腰斩超过一半!阿里巴巴问题不断,责任在马云还是张勇?文聪明小生校对李蓉婳要说二十一世纪最伟大的发明之一,电商必须要占一个席位,电商的出现,可以说在极大程度上改变了国人的购物方式。相比之下,网购有众多实体店无法比拟的优势,不仅方便快捷苹果何以重归中国市场第一iPhone13做对了什么?根据最新的CounterpointResearch公司发布的分析报告显示,苹果在2021年10月份超越了中国市场第一名vivo,这是自2015年12月以来,时隔六年,苹果再一次成为