记录下找bug找到脑壳疼的一天 针对三星公司的S5P6818芯片,尝试写了个流水灯的驱动,驱动程序源码如下: 在运行时缺发现一个奇怪的问题,见下图 编译有没错,百度了好久一直不知道什么原因,找了大半天……很无奈然后重新细致的从头到尾浏览一遍代码才发现…… 原来是在执行退出函数的时候没有释放物理内存,因为我在前面有申请GPIO C组的物理内存区...

用批处理文件、连接文件和makefile文件共同来实现对源码的编译链接 这里直接用一个例子来说明,所使用到的源码可以在我的文章中找到记录学习嵌入式遇到的问题(一)这个例子我只贴出用批处理文件、连接文件和makefile文件的源代码。 这里我新建了一个文件夹: 文件夹中的内容: 源代码: mylink.LNK: maketest.bat: test.mak: 运行批处理文件后执行成功: 上面的例子就...

FPGA(13) 实验综合8 红外遥控 DS18B20简介 数据格式 初始化序列 部分代码 DS18B20简介 一种数字温度传感器,输出数字信号表示温度,体积小,抗干扰能力强,精度高 测量温度范围从负五十五到正一百二十五。精度正负五度,最大转换时间750ms 其命令分为ROM型和RAM型 ROM型指对其内部自带的64位ROM进行操作:包括读取、匹配、跳过、搜索、报警搜索。其内部ROM主要存储,DS...

FPGA(7) 实验综合2 系统分频 BCD码 PLL锁相环 ip核的创建 系统分频 这里系统时钟每计数(clk_divide/2-1)次dri_clk时钟翻转一次 如果十分频就clk_divide定义为十,clk_cnt每加1都经过两次翻转,所以加到五时翻转一次dri_cnt为十分频 减慢时间可能是因为要等所有语句执行完毕 BCD码 拿最常用的8421编码举例 在8421条件下,1111表示的十...

在一个实际工程的创建和管理中,其众多的各种文件常会因各种原因而分别放在不同的文件目录之下。总而言之,为了清楚有序,开发人员应该为工程设置多个文件目录来存储源代码、编译过程中产生的中间文件及第三方的文件等。设计者应该充分的利用批处理文件和makefile文件的强大功能,负责建立起不同的文件目录,来使整个工程规范有序,来减少不必要的错误。 下面用一个例子来说明批处理文件和 makefile文件在工程管...

写在前面 该文主要是学习了张凯龙老师的《嵌入式系统体系、原理与设计》后自己写的课后习题,由于个人水平有限,存在纰漏之处请多多批评指正。 第一章 概述 P19 随着电子器件技术的不断发展和演化,基于半导体材料的晶体管技术、集成电路技术出现,计算机硬件的体积、功耗降低,处理速度提升才能使专用的微型计算装置“嵌入”到应用对象中;C语言等软件语言的出现支持系统功能复杂化;网络通信技...

STM32F407独立ADC+DMA+单通道之寄存器版本 使用寄存器写代码,可以很好地理解STM32F407的底层。本文章使用ADC1单通道采集,配置通道5,采样后的数据通过DMA传输到串口打印出来。 由于是寄存器的版本,里面提到的寄存器请配合《STM32F4xx 中文参考手册》ADC 章节一起阅读,效果会更佳。本文章不多做介绍! ADC简介 STM32F407ZGT6 有3 个ADC,每个ADC...

先看头文件 这个就很标准的写法。 这些地址的值查stm32中文手册即可 这个就是初始地址。 偏移量就是在刚才上边的基地址上加偏移量就是现在的地址。4个字节一般是。因为32位除以8等于4,就是4个字节。每次传输数据都是4字节。具体寄存器是多少手册里找到对应的位写就行。 手册里第六章是rcc寄存器,第八章是gpio,一眼就能找到。 思路是这样的。 STM32使用的时候先设置时钟。在下一章里会详细设置。...

array[-1]为什么会动作 概述 回想起内存空间的样子 当你想到指针时,你会看到一个数组 数组和指针的区分使用 结束语 概述 编写程序时,没有比数组更容易使用的了。因此,不知什么时候,“数组”这个抽象的概念在脑海中形成了,你有没有想过什么特别的东西呢? 在此,我们将探讨C语言中的数组实体。 回想起内存空间的样子 使用数组时需要注意的是,例如, int array[10]...

时间控制问题即同步和异步调用 概述 同步调用 异步调用 结束语 概述 在嵌入式软件中实现目标功能时,需要的是与时间相关的控制。而且,在很好地设计与时间相关的问题时,有用的是“非同步调用”这一技术。 实际上,在设计笨拙的情况下,不需要这种技术。希望各位读者一定要掌握优秀的设计技术,在此进行说明。 在嵌入式系统中,(从计算机上看)有很多根据外部世界的状态和状态的变化来决定下一个...

Linux下串口编程流程介绍

嵌入式  linux  

  

2020-07-26 13:25:42

目录 一、串口编程中struct termios结构体 二、使用串口流程 1、打开串口 2、串口配置流程 a、tcgetattr() 与 tcsetattr()控制终端 b、cfsetispeed() 与 cfsetospeed()设置波特率 c、使用掩码设置数据位 d、使用c_cflag和c_iflag设置奇偶校验 e、设置停止位 f、设置最少字符和等待时间 3、读写数据 4、关闭串口 &ems...

Linux驱动开发前阶段总结

嵌入式  ubuntu  

  

2020-08-03 18:47:04

Linux驱动开发前阶段总结 硬件配置说明 大致流程说明 uboot Linux kernel 文件系统 主要遇到的问题 内核输出乱码 ping问题 在Ubuntu上编译的hello程序无法在板子上运行 个人感受 硬件配置说明 大致流程说明 uboot Linux kernel 文件系统 主要遇到的问题 内核输出乱码 ping问题 在Ubuntu上编译的hello程序无法在板子上运行 个人感受...

OPenCV的概念详解及入门

嵌入式  

  

2020-08-25 09:24:12

OPenCV的概念详解及入门 文章目录 OPenCV的概念详解及入门 摘要 一、OpenCV的概念和结构 二、一些常用的函数 显示图像 三、小试牛刀-------对一张图片进行变换 摘要 ​ 不知在哪里看到OPenCV和嵌入式也是相关的,心中一直是这样想的,只要和嵌入式相关,都想了解一些,哪怕只是一点基础的概念。抱着这样的想法是可以学到不少知识的。 一、OpenCV的概念和结构 OpenCV:开源...