嵌入式学习
文章平均质量分 85
卖酒的小码农
这个作者很懒,什么都没留下…
展开
-
linux(ubuntu/uos/kylin)下的一些配置操作(持续更新中)
1、环境变量配置一、临时设置export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH二、当前用户的全局设置打开~/.bashrc,添加行:export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH使生效source .bashrc三、所有用户的全局设置vim /etc/profile在里面加入:export PATH=/home/yan/share/usr原创 2021-11-29 19:48:23 · 578 阅读 · 0 评论 -
linux之网络通信
该文章主要介绍了网络编程的基本硬件设备在网络通信过程中的作用,如中继器,交换机,路由器等,以及在网络通信过程中一些特殊的协议如DNS,DHCP,NAT及他们的作用。还将网络编程中需要使用的一些API进行了介绍,以及简单案例,最后还结合socket编程和thread线程实践一个单服务器多客户端向服务器注册学生信息的案例原创 2021-02-26 16:20:08 · 1363 阅读 · 0 评论 -
linux之进程线程信号全解
涉及了atexit函数,进程中环境变量,以及进程线程作用,fork引入,以及父子关系,以及进程的诞生销毁和相关资源。进程的几种状态以及exec族函数介绍,守护进程的创建。linux进程间相互通信的手段介绍,IPC对象特性,管道以及实现全双工,FIFO实践单服务端多客服端线程介绍以及线程同步的相关技术原创 2021-02-25 20:56:47 · 468 阅读 · 0 评论 -
linux之IO文件全解
一、文件操作1、静态文件和动态文件文件平时都是存放在块设备中的文件系统中的,我们把这种文件叫静态文件。当我们去open操作这个文件 的时候,内核在进程中就会建立一个打开文件的数据结构记录一下我们操作这个文件的信息(内核也会在内存中申请一块内存将这个静态文件的内存从块设备中读取到内存的特定地址用于管理,这个时候就叫动态文件)为什么要这样设计;因为块设备的读取操作不灵活,而内存则可以按字节读取,所以建立一个动态文件的机制便于管理。2、文件描述符文件描述符本质就是一个数字。这个数字就是与之前(内核在进原创 2021-02-23 15:19:38 · 211 阅读 · 0 评论 -
linux之获取系统信息
一;linux系统中的时间1、段时间和点时间定时器timer定的时间就是短时间、实时时钟RTC就是和点时间有关的一个器件2、jiffies的引入jiffies数值的本质是定义当前时间到1970-01-01 00:00:00 +0000(UTC)标准时间段转换为jiffies单位的数值。jiffies是一个linux内核的全局变量,这个变量用来记录以内核的节拍时间为单位时间长度的一个数值,这个时间节拍其实也是系统调度的时间片。3、linux系统如何记录时间内核在开机启动的时候会读取RTC硬件获取原创 2021-02-23 16:14:57 · 301 阅读 · 0 评论 -
C++学习 -3 C和C++的混合编程及库的调用
1·如何混合编程;(1)程序编译过程:源文件->目标(库)文件->可执行程序->镜像文件(2)任何编程语言执行时都必须是可执行程序,所以都必须先被编译成目标文件(3)混合编程的“混合”操作发生在链接这一步2;C++和C混合编程的困难所在(1)C++和C都是编译型语言,互相混合相对容易(2)难点:C++支持函数名重载,而C不支持,因此编译器生成目标文件时,函数名在目标文...原创 2020-02-23 21:36:43 · 744 阅读 · 0 评论 -
Ubuntu16.04直接安装Vim失败(库依赖不匹配-一般可采用aptitude方式安装)
1;原因提示是;服务器的Vim版本与本地Ubuntu16.04中Vim相关 的库不匹配方案1;更新下载源;sudo apt-get update方案2;采用另外一种下载方法(aptitude;一种会提供解决方案选择的下载方法)ps;Vim安装好了之后,其实vi也是可以使用而不需要快捷键方式了。因为Vi其实也就是执行vim的一个符号链接...原创 2019-11-18 23:40:16 · 523 阅读 · 0 评论 -
第一场嵌入式笔试——CVTE嵌入式应用工程师
做得都贼虚了 20道不定项选择题 大多数都是c的基本语法,太基础太细节了, 少量c++的析构 uboot的目的2道编程题 看起来简单都是字符串处理的题目,只是不知道对不对,题目有点小难看懂,有点小歧义...原创 2018-09-14 20:39:26 · 2566 阅读 · 0 评论 -
嵌入式常见面试简答题
1、阻塞与非阻塞的区别阻塞就是在执行相关函数命令时,如果条件不满足那么该线程就会阻塞再那里不动,直到等待条件满足才继续运行 ,但是在线程在等待的期间会交出CPU调度,因此并不影响cpu效率;非阻塞就是在执行非阻塞属性的函数命令时,并不会等待条件满不满足,调用后直接返回,因此在用非阻塞的时候要注意非阻塞执行的时候可能是执行失败的,因为他没有等待条件就执行了。而阻塞式则返回肯定是成功的,阻塞式执...原创 2018-09-18 12:31:01 · 1139 阅读 · 0 评论 -
邦键医疗生物公司嵌入式应用笔试题
第一次去中南参加宣讲会,只想说被HR打击了。 邵阳学院在哪里,二本把?呜呜呜呜呜,高考失利,但是我大学还是可以充实自己的嘛? 通信工程似乎与嵌入式岗位不对头把?物联网,人工智能这么火,通信工程的学生也可以自学相关知识呀? …………………………….打击一万字 但是还是因为自己学完了朱老师嵌入式软件工程师的核心课程,并且进行了一些总结理解,并完成了图片解码播放器的实训项目,最后还是拿到了参加笔...原创 2018-09-17 17:57:02 · 557 阅读 · 0 评论 -
嵌入式——初步了解驱动注册新旧接口源码分析
5.3.5.字符设备驱动注册代码分析1 5.3.5.1、老接口分析 register_chrdev 默认此设备号为0 __register_chrdev 并且传入子设备号的起始为0,最大子设备数为256 __register_chrdev_region 注册主次设备号的 cdev_alloc ...原创 2018-08-21 15:46:16 · 272 阅读 · 0 评论 -
嵌入式学习——初步驱动led
驱动开发笔记 1;环境搭建 1)ping通 修改网络配置:vi /etc/network/interfaces 修改成static ip为192.168.1.141 修改网络虚拟编辑器:为有线网卡 重启网卡(ifdown eth0 ifup eth0)或者重启ubuntu(shutdown -r now ) 2)设置bootcmd使开发板通过tftp下载自己建立的内核源码树编译得...原创 2018-08-20 17:51:50 · 399 阅读 · 1 评论 -
嵌入式之input驱动框架源码分析
/////////////////////////////////////////////////////////////////////总结:三层我们写的驱动层我们写的案例:中断方式按键中断gpio_request申请gpio,因为按键与gpio有关s3c_gpio_cfgpin设置gpio模式为中断模式gpio_get_value读取引脚的值,注意读取引脚的值要将gpio设...原创 2018-08-27 18:46:26 · 399 阅读 · 0 评论 -
嵌入式驱动初步移植open时内核出错
现象:操作一切都是对的,并且我们只进行open操作,从应用层open设备文件,驱动程序中对应一个open文件,并且只做了一个printk操作就时出现内核指向NULL错误,但是我们不加入应用层,进行操作都是可以进行模块安装卸载的。 应用层程序 驱动程序 错误问题是: 因为file_operations结构体声明为static,而我们写的open函数却不是static因此就出现了这...原创 2018-08-20 09:44:56 · 253 阅读 · 0 评论 -
嵌入式学习—环境变量printenv实现时很好的思路
(1)找到printenv命令所对应的函数。通过printenv的help可以看出,这个命令有2种使用方法。第一种直接使用不加参数则打印所有的环境变量;第二种是printenv name则只打印出name这个环境变量的值。 (2)分析do_printenv函数。 (3)do_printenv函数首先区分argc=1还是不等于1的情况,若argc=1那么就循环打印所有的环境变量出来;如果argc...原创 2018-07-16 10:42:26 · 667 阅读 · 0 评论 -
嵌入式学习之再刷x210遇到的问题
开始学习uboot移植了 然而之前一大段时间都是在学习c语言和裸机因此今天突然间要对开发板刷机有点慌了 遇到的问题有 1 因为之前讲uboot的的原始扇区破坏了 因此不能够加载系统了, 然而我直接想着使用fastboot进行刷机操作 但是又记得要在uboot的shell界面进行操作进入fastboot才能操作, 后来回去看了刷机视频才想起 需要先sd卡将uboot烧录sd卡中 ,拨到...原创 2018-06-19 23:05:57 · 301 阅读 · 0 评论 -
嵌入式学习之linux基础
看完朱有鹏老师的嵌入式学习视频0章第二集的零基础学习Linux之后,现在来记录一下关键的知识点,方便以后查看。1;首先了解一些操作系统 当前主流的操作系统:windows、、android、iOS、symbian、linux/unix。 其中linux是为专业的开发人员使用的,使用起来比较复杂。 Android:移动操作系统,android是基于linux开发的。 最后再看看我们要学的...原创 2018-03-09 17:13:06 · 629 阅读 · 0 评论 -
嵌入式之linux系统虚拟机联网问题
1、虚拟机linux上网问题《前提是真机能上网》 1.1、VMware中虚拟机网络的三种设置 第一种:桥接(bridged) 第二种:NAT 第三种:Host only 。该模式下仅主机可以上网,虚拟机不能上网。1.2、虚拟机上网方式1:NAT方式 设置步骤: 第一步:在菜单栏 虚拟机 -> 设置 -> 硬件 -> 网络适配器,右侧选择NAT模式 第二步: vi...原创 2018-03-09 21:18:57 · 550 阅读 · 0 评论 -
嵌入式之ARM的体系结构
1:可编程器件的编程原理 1.1;电子器件的发展 1.2 可编程器件的特点 cpu为什么是可编程器件 因为cpu在固定的时钟频率控制下节奏运行 的 cpu在每个节拍下只做一件事情 例如我们S5PV2410芯片的主频为1G 其表示就是一秒钟cpu有2的10次方个节拍表示1ns就一个节拍 cpu可以通过总线读取外部存储器(flash)中的二进制指令集进行运行cpu所执行 二进制...原创 2018-03-16 14:47:18 · 1030 阅读 · 0 评论 -
嵌入式之S5PV210地址映射详解与外部存储器的接口
一:地址映射详解 哈哈 注意不是内存映射 而是地址映射 大家都知道 S5PV210芯片是基于arm 的cortex-A8架构的 32位的cpu 拥有32位的地址总线和32位的数据总线因为有32位的地址总线 那么表示的存储范围就应该是2的32次方(也就是4g的范围)我们所说的地址映射就是说说这32位地址总线表示的4g地址范围分别都连接哪些区域,都是一些什么作用的在上图中...原创 2018-03-16 18:11:39 · 1633 阅读 · 0 评论 -
嵌入式之linux下的c语言编写运行
1;先解决一个小问题 当我们直接使用vi 打开文件 进行命令模式和输入模式转化时并没有什么显示来表示我们当前所在的模式 ,而我们看朱有鹏老师的视频时在命令模式下左下方应该显示文件类型 而输入模式应该显示–insert–如图 百度了很久, 其原因是 我们之前安装linux的ubantu系统的时候并没有将vim安装完全有些东西并没有安装进去 所以才会出现之前那个没有区分命令模式和输入模式 的区原创 2018-03-10 21:23:33 · 4500 阅读 · 0 评论 -
嵌入式之S5PV210的启动步骤介绍
1;介绍芯片cpu的启动以及整个系统的运行 我们就需要先了解一些器件的特点 因为 cpu的设计者就需要通过这些器件的特性进行设计 因此我们对这些器件的特性进行了解 有利于我们对启动方式更好的理解学习 关于启动的器件主要就是 内存 SRAM DRAM 静态动态主要是因为内存本身电路的实现方式不同而已 外存 Flash(NorFlash,NandFlash)SRAM: 静态随机存取器 ...原创 2018-03-17 16:23:23 · 490 阅读 · 0 评论 -
嵌入式之ARM内部的一些运作
1:ARM的编程模式和7种工作模式 1.1;ARM采用的是32位的架构 至少现在64位的用得很少1.2:ARM中的一些约定 1byte = 8bit 1 halfword = 16bit 1 word = 32 bit 1 doubleword = 63bit 解释: 什么是一个字 : 字就是cpu所能处理数据的位宽 也就是cpu一次能够处理的数据长度 最后就是回到了我...原创 2018-03-17 21:38:20 · 453 阅读 · 0 评论 -
海思项目学习记录 -3、ORTP库传输
1、ORTP库安装编译注意;要增加H.264的payload支持。在src/avprofile.c中357行添加:rtp_profile_set_payload(profile,96,&payload_type_h264);//这个96是h.264帧头的一个信息配置和编译、安装(1)进入ortp目录执行./autogen.sh(2)错误1:./autogen.sh: line 44: libtoolize: command not found解决:sudo apt-get instal原创 2021-03-02 15:45:06 · 822 阅读 · 0 评论 -
嵌入式之ARM汇编知识点
赶进度赶进度了 博客就不那么用心了 能粘贴复制课件的知识的就不手敲一遍了1;指令与伪指令&&&&ARM风格和GNU疯(汇编)指令是CPU机器指令的助记符,经过编译后会得到一串10组成的机器码,可以由CPU读取执行。(汇编)伪指令本质上不是指令(只是和指令一起写在代码中),它是编译器环境提供的,目的是用来指导编译过程,经过编译后伪指令最终不会生成机器码...原创 2018-03-18 17:42:56 · 2318 阅读 · 0 评论 -
嵌入式学习 物联网 云计算 大数据简述及关系
正式开始进入嵌入式的学习,主要是看朱有鹏老师的课程,狠心买下了1599的套餐了…..首先介绍三次信息化浪潮,说明未来的信息时代是属于物联网,物联网的发展是无法避免的。 介绍一下物联网的组成,分为三层 感知层;主要是一下传感器的采集。 网络层;就是传输方法。将感知层的数据传输到应用层。 应用层;就是物联网现在的应用产品了。然后就可以介绍物联网 嵌入式 云计算 大数据之间的...原创 2018-03-05 19:52:20 · 3307 阅读 · 0 评论 -
嵌入式之各个工具驱动使用及x210刷机
1:首先介绍几款软件 :1.1,串口转usb驱动 注意需要修改端口号 我们建议只插一根孔这样每次的端口号都不变,并且设置一根小于4的端口号 1.2;监控并操作串口设备的SecureCRT 注意建立会话时 要选择 端口号 Serial协议 115200比特率 数据流控制要关闭 SecureCRT:这款软件相当于开发板的控制台一样 进行监视控制的 1.3:烧录uboot到sd卡的...原创 2018-03-20 22:00:05 · 718 阅读 · 0 评论 -
嵌入式学习之裸机开发前奏
为裸机开发做铺垫 我们需 安装交叉编译工具链 (就是在linux下安装软件)并且进行相关配置方便裸机开发时使用 熟悉makefile流程 方便裸机开发工程管理 知道各个文件后缀的作用以及来历 mkv210_imge.c程序的作用以及内部代码 区分ubs串口烧写和sd卡烧写的区别1;我们使用安装包的形式进行安装工具链交叉编译工具链的安装 步骤1:打开虚拟机,在/usr...原创 2018-03-25 11:22:27 · 1314 阅读 · 0 评论 -
嵌入式裸机开发之点亮LED
博客大部分都是来自朱有鹏老师的课堂笔记 声明来处 我只是总结一下方便后期回顾1.LED物理特性介绍 LED本身有2个接线点,一个是LED的正极,一个是LED的负极。 LED这个硬件的功能就是点亮或者不亮,物理上想要点亮一颗LED只需要给他的正负极上加正电压即可, 要熄灭一颗LED只需要去掉电压即可。 2。查阅原理图了解板载LED硬件接法 查阅原理图,...原创 2018-03-26 21:23:03 · 1494 阅读 · 1 评论 -
初论c程序的分层架构案例
懒得码字,直接借用朱有鹏老师课件内容 主题:结构体内嵌函数指针实现分层 (1)程序为什么要分层?因为复杂程序东西太多一个人搞不定,需要更多人协同工作,于是乎就要分工。 要分工先分层,分层之后各个层次由不同的人完成,然后再彼此调用组合共同工作。 (2)本程序要完成一个计算器,我们设计了2个层次: 上层是framework.c,实现应用程序框架;下层是cal.c,实现计算器。 实际工作时c...原创 2018-04-06 15:24:16 · 1208 阅读 · 0 评论 -
c语言高级专题——内存
朱有鹏老师笔记结合自己理解方便后期查阅编写的博客 1.1.程序运行为什么需要内存 1.1.1、计算机程序运行的目的 我们总是在编写代码,程序 那么我们编写程序又是为了什么呢? 程序运行的目的不外乎2个 :结果和过程 就是对数据加工的过程,和对数据加工后得到的结果例如以函数为例int add(int a, int b) { return a + b;...原创 2018-04-25 23:32:23 · 1131 阅读 · 0 评论 -
sd初始化函数存放的二级指针(函数的二级指针)
在sd卡初始化是 根据数据手册可知 初始化函数的首地址存放在0XD0037F98这个地址空间中 因此是二级指针原创 2018-05-05 11:53:31 · 243 阅读 · 0 评论 -
x210ping问题
搞了一晚上还没搞完 先说下已经解决的两个问题 1;windows的防火墙记得完毕 2;uboot中的路由表记得添加 添加之后就可以ping通虚拟机和windows了 route add default gw 192.168.1.1 / # route Kernel IP routing table Destination Gateway Genmask ...原创 2018-06-22 23:26:13 · 534 阅读 · 0 评论 -
嵌入式学习——ARM你得知道的那些事
1;ARM的里程碑 ARM的前身为艾康电脑(Acorn)1978年英国剑桥创建1980年末 苹果加入合作开发ARM核心1985年第一款商用的RISC处理器即为ARM1上市1990年 艾康公司 分立出我们现在所知道的 ARM Aduvanced RSIC Machines ARM公司上市1991年 ARM公司推出了第一款嵌入式的RSIC处理器 即为 ARM6 。 。 ...原创 2018-03-14 22:45:29 · 11695 阅读 · 4 评论