-
问题描述:某个函数fun_1()是在lib内,没法修改的,在程序中大量的使用了该函数,现在想把原本fun_1失效(现在失效的方法是#define fun_1(..)),用另外一个函数fun_2(),可是fun_2最后也需要调用fun_1,上面的失效方法 ...
-
网上看了很多的嵌入式学习路线,有的比较片面,有的为了博人眼球东拼西凑,几乎把整个行业用得着用不着的技术都写上去了,没有侧重点,简直是劝退指南,还有的纯粹是打广告卖板子招生。一口君曾经是某见的教学总监 ...
-
一、1个端口号可以同时被两个进程绑定吗?根据端口号的绑定我们分以下几种情况来讨论:2个进程分别建立TCP server,使用同一个端口号88882个进程分别建立UDP server,使用同一个端口号88882个进程1个建立TCP server ...
-
概述用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、 ...
-
关于时间的文章,大家可以参考我之前的一篇文章《C语言操作时间函数,实现定时执行某个任务小程序》0、问题描述粉丝想计算一个函数的执行时间。一、问题分析函数的执行时间的统计在嵌入式系统中会被频繁的用到,知 ...
-
0.问题 知乎上回答了一个粉丝问题,结果这兄弟又连续问了几个问题:好吧,帮人帮到底,送佛送到西!给你讲彻底点吧!1. int va; 这是一个整型变量,32位CPU的话,占有32个bite2. int *va; 这是一个整型指针变量,用 ...
-
关于ARM的一些基本概念,大家可以参考我之前的文章:《到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】》关于ARM指令用到的IDE开发环境可以参考下面这篇文章《1. 从0开始学ARM-安 ...
-
本篇彭老师将图文并茂教你如何使用抓包工具,并在文章最后教大家如何偷取FTP的用户名密码。一、安装本文为大家介绍一个非常好用的抓包工具,科来。下载地址:http://www.colasoft.com.cn/下载科莱下载完毕,双击直 ...
-
参考文章:《22张图详解浏览器请求数据包如何到达web服务器(搞懂网络可以毕业了)》0. 粉丝提问粉丝提问:「我们的电脑是如何获得路由器自动分配的ip地址,并实现上网的?」粉丝提问,一口君必须满足!好在一口君 ...
-
ARM系列文章,请点击以下汇总链接:《从0学arm合集》一、MDK和GNU伪指令区别我们在学习汇编代码的时候经过会看到以下两种风格的代码:gnu代码开头是:.global _start_start: @汇编入口 ldr sp,=0x410 ...
-
很多应届生在求职过程中遇到过被放鸽子的情况,但是由于段位不高,资源不够,社会阅历尚浅,很多人都是忍气吐声,但是也不乏有些学生性格刚硬,怒怼的。比如下面这位学生,竟然直接怼了HR。0、应届硕士小伙怒怼HR来 ...
-
一、粉丝提问i2c的设备树和驱动是如何匹配以及何时调用probe的?粉丝手里的I2C外设是ov5640,一个摄像头。粉丝提问,一口君必须安排。二、问题分析设备树信息如下: ov5640: ov5640@3c { compatible = "ovt ...
-
击左上方蓝色“一口Linux”,选择“设为星标”第一时间看干货文章 【干货】嵌入式驱动工程师学习路线【干货】Linux嵌入式知识点思维导图免费获取【就业】一个可以写到简历的基于Linux物联网综合项目【就业】找工作 ...
-
ARM系列文章合集如下:《从0学arm合集》前言在嵌入式开发中,ADC应用比较频繁,本文主要讲解ADC的基本原理以及如何编写基于ARM的裸机程序和基于Linux的驱动程序。ARM架构:Cortex-A9Linux内核:3.14在讲述ADC之前, ...
-
ARM系列文章合集如下:《从0学arm合集》一、RTCRTC(Real-Time Clock) 实时时钟。RTCRTC是集成电路,通常称为时钟芯片。在一个嵌入式系统中,通常采用RTC来提供可靠的系统时间,包括时分秒和年月日等,而且要求在系 ...
-
粉丝问题如何制作rootfs?安排!想直奔主题的,直接跳到第四章。一、分析 1. 文件系统简介理论上说一个嵌入式设备如果内核能够运行起来,且不需要运行用户进程的话,是不需要文件系统的,文件系统简单的说就是一种 ...
-
ID:技术让梦想更伟大作者:李肖遥队列的概念首先我们联想一下链表,在单链表中,我们只能对他的链表表尾进行插入,对链表的表头进行结点的删除,这样强限制性的链表,就是我们所说的队列。也就是说,队列(queue) ...
-
一、 问题描述 access_ok函数是什么原理?问题二、问题分析 我们在内核空间和用户空间进行数据拷贝的时候必须判断用户空间地址是否合法。主要通过偶函数access_ok来判断。1. Linux用户空间与内核地址空间Linux 操作 ...
-
关于ARM的一些基本概念,大家可以参考我之前的文章:《到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】》关于ARM指令用到的IDE开发环境可以参考下面这篇文章《1. 从0开始学ARM-安 ...
-
概述用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、 ...
-
一起入职的同事能力不如我,只因学历比我高,工资是我的两倍!我想这是很多初入职场的同学经常会遇到的一个问题。【本篇只针对研发人员】一口君有个朋友C君刚毕业的第一家,也遇到过类似的问题。C君是本科进入做路 ...
-
粉丝的提问,必须安排。两个线程,两个互斥锁如何形成死锁?程序流程图如下:程序流程图如上图所示:t0时刻,主线程创建子线程,并初始化互斥锁mutex1、mutex2;t1时刻,主线程申请到了mutex1、子线程申请到了mutex ...
-
推荐关注下方公众号学习更多Linux、驱动知识!这两个函数是字符设备初始化相关的内核函数。要想了解这两个函数,必须要知道字符设备的架构,以及字符设备创建的流程。关于字符设备可以参考下面这篇文章《手把手教Li ...
-
本篇是从0学ARM系列文章的最后一篇,后面暂无更新计划。想学习ARM知识,建议收藏下面的合集的链接。《从0学ARM》uboot中网络协议栈网卡的驱动,对于上层协议来说,已经封装好了发送和接收数据的接口,那么上层协 ...
-
一、异常(Exception)异常是理解CPU运转最重要的一个知识点,几乎每种处理器都支持特定异常处理,中断是异常中的一种。有时候我们衡量一个操作系统的时候实时性就是看os最短响应中断时间以及单位时间内响应中断次 ...
-
一、计算机架构在了解计算机架构之前,我们先来认识几位对计算机的发明做出关键共享的几位大佬。1. 巴贝奇机械计算机之父,英国贵族,曾孤军奋战下造出的第一台差分机,运算精度达到了6位小数,后来又设计了20位精 ...
-
笔试题笔试题1. ARM指令和中B和BLX的区别?B: 跳转执行B 指令的格式为:B{条件} 目标地址B 指令是最简单的跳转指令。一旦遇到一个B 指令,ARM 处理器将立即跳转到给定的目标地址,从那里继续执行。注意存储在跳转 ...
-
一、异常(Exception)异常是理解CPU运转最重要的一个知识点,几乎每种处理器都支持特定异常处理,中断是异常中的一种。有时候我们衡量一个操作系统的时候实时性就是看os最短响应中断时间以及单位时间内响应中断次 ...
-
1. 问题 粉丝提问:某个函数指针的使用:编译时出错了。type defaults to 'int' in declaration of 'on_touch_messgae_handle'[-Wimplicit-int] typedef(*on_touch_messgae_handle)(touch_message_t);粉丝源码如下 ...
-
来源:https://segmentfault.com/a/1190000008850005【导读】:树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。在面试环节中,二叉树也是必考的模块。本文主要讲二叉树操作的相关知识,梳理面试常考的内 ...
-
本文章由网友:邓工 投稿,VX:A18665908735 欢迎大家加技术大拿好友。问题描述起因:最近公司要做一个4G模块带GNSS(全球导航卫星系统)定位功能的产品,上传传感器数据和设备定位数据到服务器上,我们选择了si ...
-
一、问题 为啥内核有的变量没有初始化就敢直接使用?二、分析 看上图,其中的5747行的变量nid的确没有定义,就直接使用了,这么做没有问题吗?其实大家仔细看一下,5765行是一个宏,到内核源码去找该宏的定义:linu ...
-
最近又看到一则让人十分痛心的消息,南京一名即将当父亲的程序员,在准备出门时突发脑溢血倒下了……2020年6月7日,硕士毕业于哈尔滨工业大学的张朝晖发了一条朋友圈“致敬百年,引领未来”,这是一条庆祝他的母校 ...
-
嵌入式工程师到底要不要学习ARM汇编指令?网上搜索这个问题,答案很多,大部分的建议是不要学汇编,只要学C语言。而一口君作为一个十几年经验的驱动工程师,个人认为,汇编语言还是需要掌握的,想要搞精、搞深,汇 ...
-
1.什么是线程?linux内核中是没有线程这个概念的,而是轻量级进程的概念:LWP。一般我们所说的线程概念是C库当中的概念。1.1线程是怎样描述的?线程实际上也是一个task_struct,工作线程拷贝主线程的task_struct, ...
-
ARM系列文章合集如下:《从0学arm合集》本文基于三星Cortex-A9架构,Exynos4412讲解I2C原理、以及基于I2C的mpu6050陀螺仪的数据读取实例(包括在裸机模式下数据的读取以及基于Linux驱动的读取)。还会分析Linux内核 ...
-
问题描述:某个函数fun_1()是在lib内,没法修改的,在程序中大量的使用了该函数,现在想把原本fun_1失效(现在失效的方法是#define fun_1(..)),用另外一个函数fun_2(),可是fun_2最后也需要调用fun_1,上面的失效方法 ...
-
前言有粉丝问我到底什么是ARM,搞不清楚Cortex、arm内核、arm架构、ARM指令集、soc这些概念都是什么关系,下面一口君给大家整理一下关于ARM相关的一些概念。1、ARM既可以认为是一个公司的名字,也可以认为是对一类 ...
-
一、中断概念操作系统中,中断是很重要的组成部分。出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。有了中断系统才可以不用一直轮 ...
-
作为过来人,我发现很多程序猿新手,在编写代码的时候,特别喜欢定义很多独立的全局变量,而不是把这些变量封装到一个结构体中,主要原因是图方便,但是要知道,这其实是一个不好的习惯,而且会降低整体代码的性能 ...
-
学习ARM,就必须要学习ARM指令,ARM指令是CPU提供给我们的接口,是我们打开CPU这个潘多拉魔盒的钥匙。ARM指令有很多,为了让大家能快速上手,一口君整理了一些对我们最有帮助的指令。keil软件的操作,可以参考第一 ...
-
2、奇妙的"结构体" 今天讲解这块内容,主要是受上篇文章结构体内部对齐的影响,来重新为大家介绍一下结构体(如果小伙伴对结构体的基础知识还不具备的话得回头看一下相关C语言的书籍). 结构体:字面上的 ...
-
SPI概述Serial Peripheral interface 通用串行外围设备接口是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI, ...
-
学习Linux搭建环境,参考下面文章:《linux驱动、ARM学习环境搭建》Linux必须掌握的一些基础知识点参考下面文章:《Linux入门的基础知识点汇总,有这篇就够了》一、变量的使用 1. 变量命名定义变量时,变量名不加美 ...
-
一、异常(Exception)异常是理解CPU运转最重要的一个知识点,几乎每种处理器都支持特定异常处理,中断是异常中的一种。有时候我们衡量一个操作系统的时候实时性就是看os最短响应中断时间以及单位时间内响应中断次 ...
-
学习ARM,就必须要学习ARM指令,ARM指令是CPU提供给我们的接口,是我们打开CPU这个潘多拉魔盒的钥匙。ARM指令有很多,为了让大家能快速上手,一口君整理了一些对我们最有帮助的指令。keil软件的操作,可以参考第一 ...
-
网上看了很多的嵌入式学习路线,有的比较片面,有的为了博人眼球东拼西凑,几乎把整个行业用得着用不着的技术都写上去了,没有侧重点,简直是劝退指南,还有的纯粹是打广告卖板子招生。一口君曾经是某见的教学总监 ...
-
ARM系列文章,请点击以下汇总链接:《从0学arm合集》一、MDK和GNU伪指令区别我们在学习汇编代码的时候经过会看到以下两种风格的代码:gnu代码开头是:.global _start_start: @汇编入口 ldr sp,=0x410 ...
-
网上收集整理了一些简历模板资料,希望对小伙伴们有帮助:随便看几个预览例子吧,都是那种简约型的:点击下面公众号,关注后回复 “简历” 二字自行领取 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删 ...
-
击左上方蓝色“一口Linux”,选择“设为星标”第一时间看干货文章【干货】嵌入式驱动工程师学习路线【干货】Linux嵌入式知识点思维导图免费获取【就业】一个可以写到简历的基于Linux物联网综合项目【就业】简历模版 ...