嵌入式软件

2024/4/11 17:00:13

S3C2440移植linux3.4.2内核之支持YAFFS文件系统

上一节S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统我们构建了根文件系统,这节我们修改内核支持yaffs2文件系统 文章目录获取yaffs2源码并给内核打补丁编译内核make uImage修改yaffs2源码移植Linux3.4.2内核其他文章链接: S3C2440移植linux3…

嵌入式软件工程师笔试面试指南-Linux驱动

文章目录 Linux驱动指令常用的Linux指令怎么查看当前进程?怎么执行退出?怎么查看当前路径?ls 命令执行什么功能? 可以带哪些参数?创建目录用什么命令?创建文件用什么命令?复制文件用什么命令?查看文件内容有哪些命令可以使用?怎么向屏幕输出带空格的字符串,比如”hel…

北京联发科嵌入式软件工程师笔试题目解析

最近在写大论文,头都要秃了,技术文章也更不动了。去年参加秋招的时候,记录了一些笔试题目,今天整理了下答案,供大家参考。最近几周,我都会发一些大厂笔试的题目和答案。今天分享的是北京联发科提前批嵌入式…

兆易创新嵌入式软件工程师笔试题目解析

哈喽,大家好。今天分享的是兆易创新的嵌入式软件开发工程师的笔试题目。这份题目中等难度,考察基础知识的偏多,最后的编程题只考了一个结构体数组的初始化。所以,在准备校招时,将重点还是要放在基础知识上。下面看下这…

我的嵌入式软件工程师秋招之路(文末送福利)

秋招是每个在校学生都要经历的一个阶段。本篇文章记录了自己的秋招历程。秋招投递公司23家,简历被刷1家。笔试/测评挂掉3家。至今无消息的8家。获得Offer的公司有小米,兆易创新,全志科技,浙江大华,海格通信&#xff0c…

《深入理解计算机系统》(CSAPP)实验四 —— Attack Lab

这是CSAPP的第四个实验,这个实验比较有意思,也比较难。通过这个实验我们可以更加熟悉GDB的使用和机器代码的栈和参数传递机制。 实验目的 本实验要求在两个有着不同安全漏洞的程序上实现五种攻击。通过完成本实验达到: 深入理解当程序没有对缓…

Linux设备驱动开发学习笔记(等待队列,锁,字符驱动程序,设备树,i2C...)

1. 内核工具和辅助函数 1.1宏container_of container_of函数可以通过结构体的成员变量检索出整个结构体 函数原型: /* pointer 指向结构体字段的指针 container_type 结构体类型 container_field 结构体字段名称 返回值是一个指针 */ container_of(pointer, con…

嵌入式软件工程师面试题目整理(四)

文章目录 嵌入式软件工程师面试题目整理(四)ARM内核有四个功能模块,即______、______、______、______,可供生产厂商根据不同用户的要求来配置生产ARM芯片。ARM7TDMI与ARM720T的一个重要区别在于后者有______、______。ARM芯片主要封装有______、______、______、______、_…

嵌入式软件工程师面试题目整理(二)

文章目录 嵌入式软件工程师面试题目整理(二)linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些?字符设备和块设备的区别,请分别列举一些实际的设备说出它们是属于哪一类设备linux中系统调用过程?如:应用程序中read()在linux中执行过程即从用户空间到内核空间…

《深入理解计算机系统》(CSAPP)读书笔记 —— 第六章 存储器层次结构

在计算机系统模型中,CPU执行指令,而存储器系统为CPU存放指令和数据。实际上,存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。   如果你的程序需要的数据是存储在CPU寄存器中,那么在指令的执行期间&#xf…

不同类型数据运算的总结

前几天在学习交流群里&#xff0c;有个小伙伴问了一个问题&#xff0c;是关于有符号整数和无符号字符数的运算的问题。对于这部分&#xff0c;我个人理解的也有点问题&#xff0c;现在来做个总结回顾。 有符号整型和无符号数整型 举例 #include <stdio.h> #include <…

《深入理解计算机系统》(CSAPP)实验二 —— Bomb Lab

这是CSAPP的第二个实验&#xff0c;主要让我们理解代码的机器级表示&#xff0c;最重要的是理解每个寄存器的作用以及如何使用这些寄存器。本次的实验内容有点晦涩难懂&#xff0c;对于这些内容多看下习惯就好了。 本次实验中的bomb文件中共有7个炸弹问题&#xff08;6个显式的…

LKT4201N 低功耗RSAECC算法加密芯片

概述: LKT4201N 低功耗RSA/ECC算法加密芯片是目前行业内最低功耗的高性能的RSA、ECC加密芯片&#xff0c;芯片采用目前最先进流片工艺CPU(获得全球最高安全等级EAL5的智能卡芯片)&#xff0c;拥有9KB RAM&#xff0c;支持ISO7816及UART通信&#xff0c;通讯速率最高可将近1Mbps…

LKT4301 32位高性能多接口RSA防盗版加密芯片

概述&#xff1a;  LKT4301 高性能多接口RSA防盗版加密芯片采用32位智能卡专用芯片&#xff0c;带有USB接口的32位智能卡微控制器。内部工作时钟频率可达25M Hz&#xff0c;且可在内部和外部时钟之间动态切换。芯片内嵌USB DEVICE控制器&#xff0c;支持USB low speed、full …

LKT3100 密码键盘加密芯片

LKT3100 密码键盘加密芯片采用智能卡行业高安全性智能卡安全处理芯片&#xff0c;采用PSAM卡的应用原理,用于加密保护POS及密码键盘的用户输入密码(PIN)。以行业内最高的安全性和最低价格供应广大密码键盘及POS客户。 产品安全&#xff1a; 安全算法&#xff1a;DES算法&…

LKT4104 8位多IO防盗版加密芯片

LKT4104 8位多IO防盗版加密芯片采用专用的智能卡芯片平台&#xff0c;内置凌科芯安公司自主开发的嵌入式系统&#xff0c;是为保护用户代码&#xff0c;防止非法访问和外部攻击而设计的新一代安全芯片。处理器使用8051内核&#xff0c;采用串口通讯协议&#xff0c;拥有额外3个…

STM32嵌入式工程师自我修养

STM32嵌入式工程师自我修养一、STM32必备技能二、程序员必须熟知三、学习STM32自备资料和硬件一、STM32必备技能 1、熟悉 C 语言编程&#xff0c;熟练 STM32CUBEMX,Keil 开发环境。 2、熟悉基于STM32 MCU开发&#xff0c;掌GPIO,TIME,PWM,ADC等外设开发。 3、熟悉USART,IIC,SP…

IMX6ULL驱动开发实战连载-01搭建开发环境

哈喽&#xff0c;大家好。我是小仲。板子在3.31号就收到了&#xff0c;但是&#xff0c;由于最近一直很忙&#xff0c;拖到了现在才开始搭建环境。接下来的一段时间&#xff0c;会基于野火IMX6ULL开发板写一系列教程&#xff0c;主要侧重于驱动和内核的调试技巧。这方面的文章&…

具有代码移植专利技术的加密芯片

近几年来&#xff0c;日新月异的科学发展&#xff0c;嵌入式设备的全面普及&#xff0c;带来了嵌入式程序开发领域的欣欣向荣&#xff0c;开发人员成年累月的成果给客户带来了极大的方便&#xff0c;然而程序盗用的轻而易举&#xff0c;却也让盗版商轻易地获得了利益&#xff0…

LKT4200HS-128 32位增强型高性能防盗版加密芯片

概述&#xff1a; LKT4200HS-128是凌科芯安科技推出的一款增强型32位高性能防盗版加密芯片&#xff0c;以32位最高安全等级智能卡&#xff08;EAL5)芯片为基础&#xff0c;具有目前行业内最高性能最高安全性的软硬件加密产品。用户可将关键算法程序内嵌入芯片中&#xff0c;从根…

LKT4100D 8位防盗版加密芯片

概述&#xff1a; LKT4100D是凌科芯安科技最新推出的一款8位防盗版加密芯片&#xff0c;采用增强型8051金融级安全芯片为基础。用户可将关键算法 程序内嵌入芯片中&#xff0c;从根本上杜绝程序被破解的可能。支持IO模拟及UART通信&#xff0c;具有超高的性价比。 产品安全&am…

嵌入式软件工程师面试题目整理(一)

文章目录 嵌入式软件工程师面试题目整理(一)Arm有多少32位寄存器?Arm2440和6410有什么区别CPU,MPU,MCU,SOC,SOPC联系与差别上拉&下拉&高阻态串口协议讲一讲RS232和RS485通讯接口有什么区别IIC时序图画一下,IIC有哪些状态,给一个字节,将它发送出去。IIC有什么注意…

IMX6ULL驱动开发实战连载-02设备树的编译和加载

哈喽&#xff0c;大家好。今天介绍的是设备树的加载和编译。设备树&#xff0c;我也是第一次接触&#xff0c;在编译的时候&#xff0c;也是遇到了很多问题。折腾了好几次才加载成功。在这里&#xff0c;也想和大家说&#xff0c;遇到问题不要怕&#xff0c;我们现阶段所遇到的…

详解双向链表的基本操作(C语言)

工科生一枚&#xff0c;热衷于底层技术开发&#xff0c;有强烈的好奇心&#xff0c;感兴趣内容包括单片机&#xff0c;嵌入式Linux&#xff0c;Uboot等&#xff0c;欢迎学习交流&#xff01; 爱好跑步&#xff0c;打篮球&#xff0c;睡觉。 欢迎加我QQ1500836631&#xff08;备…

三、初识FreeRTOS之FreeRTOS基础知识

从这节开始&#xff0c;我们正式学习FreeRTOS的一些基础知识&#xff0c;争取做到日更&#xff0c;或者隔日更。如果在学习的过程中哪里有理解错误&#xff0c;希望各位朋友批评指正。因为自己觉得图文并茂好像更容易理解一点&#xff0c;所以在博文中加了大量的图片&#xff0…

《深入理解计算机系统》(CSAPP)读书笔记 —— 第三章 程序的机器级表示

本章主要介绍了计算机中的机器代码——汇编语言。当我们使用高级语言&#xff08;C、Java等&#xff09;编程时&#xff0c;代码会屏蔽机器级的细节&#xff0c;我们无法了解到机器级的代码实现。既然有了高级语言&#xff0c;我们为什么还需要学习汇编语言呢&#xff1f;学习程…

LKT4200 32位高端防盗版加密芯片

LKT4200 32位高端加密IC是目前行业最高端性能的防盗版加密芯片&#xff0c;芯片采用32位CPU(获得全球最高安全等级EAL5的智能卡芯片),10K RAM ,支持ISO7816及UART通信&#xff0c;通讯速率最高可达近1Mbps;用户程序存储区容量最高可达420K字节。在超高安全等级加密的同时&#…

一个信号间相互干扰问题的发现及解决方法

问题描述&#xff1a;MAX3232串口通讯芯片的输出引脚上存在干扰电平&#xff0c;通过示波器可以看到干扰电平&#xff0c;PC端的串口程序表现为接收到乱码。如下图&#xff0c;环回测试中发了一串字符数据ATCIPSEND后&#xff0c;除了收到环回的ATCIPSEND字符外&#xff0c;还有…

理想L9自动驾驶域控制器拆解

理想L9自动驾驶域控制器拆解 目录 理想L9自动驾驶域控制器拆解简介&#xff1a;1、SOC-Orin2、MCU-TC3973、交换机4、GMSL解串芯片5、存储 printf("欢迎关注公众号&#xff1a;车载嵌入式探索者&#xff0c;博主建立了一个车规级开发交流群&#xff0c; 感兴趣的朋友可以关…

arduino和单片机的区别是什么?

在物联网&#xff08;IoT&#xff09;时代&#xff0c;我们经常听到关于Arduino和单片机&#xff08;microcontroller&#xff09;的说法。虽然二者在某些方面有着相似之处&#xff0c;但它们在很多方面也有着本质的区别。在本文中&#xff0c;我们将深入探讨这两个概念的不同点…

猿创征文|嵌入式系统应用开发工具链必备

目录猿创征文&#xff5c;嵌入式系统应用开发工具链必备硬件设计工具STM32Cube 系列电路设计工具EDA代码预调试工具Code::Blocks嵌入式软件调试工具keil整机调试工具--串口助手整机调试工具--网络调试助手NetAssist量产工具STM32 ST-LINK Utility猿创征文&#xff5c;嵌入式系统…

S3C2410 MMU(存储器管理单元)详述

MMU,全称Memory Manage Unit, 中文名——存储器管理单元。   许多年以前&#xff0c;当人们还在使用DOS或是更古老的操作系统的时候&#xff0c;计算机的内存还非常小&#xff0c;一般都是以K为单位进行计算&#xff0c;相应的&#xff0c;当时的程序规模也不大&#xff0c;所…

Linux 下spi设备驱动

参考&#xff1a; Linux kernel 有关 spi 设备树参数解析 Linux kernel 有关 spi 设备树参数解析 - 走看看 Linux SPI驱动框架(1)——核心层 Linux SPI驱动框架(1)——核心层_linux spi驱动模型_绍兴小贵宁的博客-CSDN博客 Linux SPI驱动框架(2)——控制器驱动层 Linux SPI驱…

LKT4105 16位防盗版加密芯片

LKT4105 16位防盗版加密芯片采用专用16位智能卡芯片平台&#xff0c;内置自主开发的嵌入式系统。专门为保护用户代码&#xff0c;防止非法访问和外部攻击而设计。编程语言基于标准C&#xff0c;处理器使用高性能16位内核&#xff0c;通过串口通讯&#xff0c;用户可以把主要算法…

一、串行FLASH文件系统FatFs简介

本节主要给大家介绍以下内容&#xff1a; 文件系统简介 FatFs文件系统简介 FatFs文件系统移植 FatFs功能使用 一、文件系统简介 当我们在使用SPI FLASH直接存储数据 当需要记录字符“STM32 SPI FLASH”时。可以把这些文字转化成ASCII码&#xff0c;存储在数组中&#xff0…

自动驾驶学习笔记(五)——绕行距离调试

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《2023星火培训【感知专项营】》免费课程—>传送门 文章目录 前言 调试内容 打开在线编辑器 打开pl…

嵌入式软件异步编程:单线程编程模型(前后台系统编程模型)

嵌入式软件按照其所使用的操作系统可以分为三类&#xff1a;Rich OS、RTOS、Bare-metal。应用最广泛的应该是Bare-metal了&#xff0c;Bare-metal即裸机&#xff0c;也就是不采用任何操作系统的嵌入式系统&#xff0c;其程序内仅有主循环和中断服务例程&#xff0c;通常也称作前…

嵌入式开发:硬件和软件越来越接近

从前&#xff0c;硬件和软件工程师大多生活在自己的世界里。硬件团队设计了芯片&#xff0c;调试了从铸造厂返回的第一批样本&#xff0c;让软件团队测试他们的代码。随着虚拟平台和其他可执行模型变得越来越普遍&#xff0c;软件团队可以在芯片制造之前开始&#xff0c;有时甚…

二十、FreeRTOS之Tickless低功耗模式

本节需要掌握以下内容&#xff1a; 1&#xff0c;低功耗模式简介&#xff08;了解&#xff09; 2&#xff0c; Tickless模式详解&#xff08;熟悉&#xff09; 3&#xff0c; Tickless模式相关配置项&#xff08;掌握&#xff09; 4&#xff0c;Tickless低功耗模式实验&…

十三、FreeRTOS之FreeRTOS时间管理

本节主要介绍以下内容&#xff1a; 1&#xff0c;延时函数介绍&#xff08;了解&#xff09; 2&#xff0c;延时函数解析&#xff08;熟悉&#xff09; 3&#xff0c;延时函数演示实验&#xff08;掌握&#xff09; 4&#xff0c;课堂总结&#xff08;掌握&#xff09; 一、…

嵌入式软件开发笔试面试知识点总结-操作系统部分

文章目录 操作系统创建进程有哪几种方式进程和线程有什么区别何时使用多进程,何时使用多线程?线程间通信都有哪些方式进程间通信方式线程间同步方式线程是否具有相同的堆栈?线程同步方法内核线程和用户线程的区别读写锁产生死锁的原因是什么?死锁的4个必要条件死锁的处理方…

扒一扒ELF文件

ELF文件&#xff08;Executable Linkable Format&#xff09;是一种文件存储格式。Linux下的目标文件和可执行文件都按照该格式进行存储&#xff0c;有必要做个总结。 文章目录1. 链接举例2. ELF文件类型2.1 可重定位目标文件&#xff08;.o文件&#xff09;2.2 可执行目标文件…

keil推出的RTX源码

已经放在附件&#xff0c;需要的伙伴自行下载

嵌入式软件工程师面试题目整理(三)

文章目录 嵌入式软件工程师面试题目整理(三)FIQ比IRQ快的原因:中断与异常有何区别在ARM系统中,在函数调用的时候,参数是通过哪种方式传递的简述SPI,UART,I2C三种传输方式嵌入式系统中断服务子程序(ISR)在ARM的汇编程序中,有如下几种伪指令:_____、______、______、_____…

bin、hex、ELF文件格式上的区别

bin, hex, 和 ELF 是三种不同的文件格式&#xff0c;主要用于表示和存储二进制数据和程序代码。它们各自有其用途、特点和格式&#xff1a; bin (Binary) 文件: 通常表示纯二进制格式的文件。它不包含任何元数据或文件结构&#xff0c;只是简单地按照字节顺序存储数据。这种文件…

嵌入式软件异步编程:同步还是异步?

异步并不总是提高效率的&#xff0c;那什么时候用同步&#xff0c;什么时候用异步呢&#xff1f; http://blog.csdn.net/zoomdy/article/details/68952787 mingdu.zheng at gmail dot com 异步要解决的是CPU和I/O速度差异的问题&#xff0c;所以异步适合I/O远慢于CPU的情况&a…

模拟数字转换器

本节主要介绍以下内容&#xff1a; ADC简介 ADC功能框图详解 参考资料:《零死角玩转STM32》“ADC—电压采集”章节 一、ADC简介 ADC &#xff1a;Analog to Digital&#xff0c;模拟数字转换器 三个独立的ADC 1 / 2 / 3分辨率为12位每个ADC具有18个通道&#xff0c;其中…

拒绝造轮子!如何移植并使用Linux内核的通用链表(附完整代码实现)

在实际的工作中&#xff0c;我们可能会经常使用链表结构来存储数据&#xff0c;特别是嵌入式开发&#xff0c;经常会使用linux内核最经典的双向链表 list_head。本篇文章详细介绍了Linux内核的通用链表是如何实现的&#xff0c;对于经常使用的函数都给出了详细的说明和测试用例…

嵌入式软件工程师笔试面试指南-ARM体系与架构

哈喽&#xff0c;大家好。我终于回来了&#xff01;19号刚提交完大论文&#xff0c;就被抓去出差了&#xff0c;折腾了整整一周&#xff0c;26号晚上&#xff0c;才回到学校。鸽了好久都没更新干货了。今天更新一篇关于Arm的笔试面试题目。 文章目录ARM体系与架构硬件基础NAND …

《深入理解计算机系统》(CSAPP)实验六 —— Cache Lab

这是CSAPP的第6个实验&#xff0c;本实验将帮助我们了解缓存对C语言性能的影响。而且&#xff0c;这个实验比前几个难度都加大了&#xff0c;做实验前建议先去看24张图7000字详解计算机中的高速缓存&#xff0c;理解下Cache的基本原理。 文章目录1. 实验目的2. 实验准备2.1 参考…

嵌入式软件工程师笔试面试指南-C/C++

哈喽&#xff0c;大家好。最近几天&#xff0c;我把去年秋招总结的笔试面试的一些内容&#xff0c;又进行了重新规划分类。详细分成了简历书写&#xff0c;面试技巧&#xff0c;面经总结&#xff0c;笔试面试八股文总结等四个部分。 其中&#xff0c;八股文又分成了C/C&#x…

四、UART_阻塞发送中断接收

1、开发环境 (1)Keil MDK: V5.38.0.0 (2)MCU: mm320163D7P 2、实验目的&原理图 2.1、实验目的 (1)上位机串口助手给MCU发送信息&#xff0c;MCU串口通过通过串口助手接收后&#xff0c;将接收到的内容通过串口助手发送到上位机。 (2)串口在whil循环中每隔1秒发送一次…

嵌入式学习之Linux系统编程篇笔记——系统编程初探

配套视频学习链接&#xff1a;https://www.bilibili.com/video/BV1zV411e7Cy?p2&vd_sourced488bc722b90657aaa06a1e8647eddfc 目录 Linux系统编程的基本认识 什么是Linux系统编程? 什么是系统编程 系统编程的作用 怎么学习Linux系统编程? Linux系统编程基本程序框…

GPT对话知识库——FreeRTOS中寄存器BASEPRI的作用

提问模型&#xff1a;GPT-4-TURBO-PREVIEW 提问时间&#xff1a;2024.03.02 1&#xff0c;问&#xff1a; 举例详细说明寄存器BASEPRI在freertos中作用 1&#xff0c;答&#xff1a; 在使用FreeRTOS这样的实时操作系统时&#xff0c;确保系统的实时性和响应能力至关重要。其中…

嵌入式软件异步编程:同步转为异步

在现有同步实现的基础上进行异步实现&#xff0c;需要将同步代码转换成异步代码。 http://blog.csdn.net/zoomdy/article/details/64125084 mingdu.zheng at gmail dot com 基本方法&#xff1a;分开请求和结果 I/O的基本操作可以细分为两个部分&#xff1a; 发起请求检查结…

嵌入式开发:通过嵌入式虚

嵌入式虚拟化为实现多核处理能力的优势提供了一种可扩展的机制。嵌入式应用中的虚拟化与其企业和桌面应用有许多共同之处。独特的嵌入式使用案例和专业的底层技术为嵌入式开发人员提供了优化性能和响应设计的新机会。在台式机、数据中心以及现在的嵌入式设计中采用多核技术可以…

《深入理解计算机系统》(CSAPP)读书笔记 —— 第七章 链接

链接&#xff08; Clinking&#xff09;是将各种代码和数据片段收集并组合成为一个单一文件的过程&#xff0c;这个文件可被加载&#xff08;复制&#xff09;到内存并执行。链接可以执行于编译时&#xff08; compile time&#xff09;&#xff0c;也就是在源代码被翻译成机器…

自动驾驶学习笔记(四)——变道绕行仿真

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《2023星火培训【感知专项营】》免费课程—>传送门 文章目录 前言 仿真内容 启动Dreamview 开启Sim…

嵌入式软件异步编程:异步带来的性能提升

以两个串口同时发送数据为例比较异步和同步的发送性能。 http://blog.csdn.net/zoomdy/article/details/72677789 mingdu.zheng at gmail dot com 同步编程 TXD1发送时不能处理其它任务TXD2要在TXD1发送完成后才能开始发送总发送时间为TXD1和TXD2的发送时间总和&#xff0c;约…

三、C语言常用运算符

1、算术运算符 符号说明加号-减号*乘号/除号%取余符号&#xff0c;相除以后余数是几自增运算符&#xff0c;整数值增加 1--自减运算符&#xff0c;整数值减少1 2、关系运算符 符号说明检查两个操作数的值是否相等&#xff0c;如果相等则条件为真。!检查两个操作数的值是否相…

智芯MCU软件开发环境搭建

智芯MCU软件开发环境搭建 目录 智芯MCU软件开发环境搭建前言1 软件安装2 编译环境3 烧录环境4 新建工程结束语 前言 智芯科技的MCU主要应用于汽车行业&#xff0c;属于车规级的MCU&#xff0c;目前上市的MCU型号较少&#xff0c;相关资料也不多&#xff0c;所以这里出一期开发…

Linux下 /sys/class 一些操作

Linux下&#xff0c;/dev、/sys/class的区别 /dev下面有很多节点&#xff0c;每一个节点代表一个设备&#xff0c;/dev目录下面是按物理器件进行分类&#xff1b;而/sys/class下面的更多是按功能抽象出来的。 参考1 demo 在正点原子的基础上进行演示 #include <linux/ty…

【LoRaWAN】单播与组播multicast调试记录

本文主要记录 【LoRaWAN】单播与组播multicast调试过程的问题 2023.06.09 &#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是喜欢记录零碎知识点的小菜鸟。&#x1f60e;&#x1f4dd; 个人主页&#xff1a;[欢迎访问我的 Ethernet_Comm 博客…

Linux嵌入式驱动开发-并发与竞争

文章目录 原子操作原子整型操作 API 函数Example原子位操作 API 函数 自旋锁Warning自旋锁 API 函数Example&#xff1a; 读写自旋锁读写锁API 函数 顺序锁顺序锁API 函数 信号量特点信号量 API 函数Example 互斥体Warning互斥体 API 函数Example 原子操作 Linux 内核定义了叫…

RK3288安卓7.1开机上电到显示logo需要在3s内完成

需求&#xff1a; 从上电到开始开机logo有一段黑屏时间&#xff0c;这个黑屏时间大概在6s左右&#xff0c;给客户体验很不好&#xff0c;现在需要将这段黑屏时间缩短到2-3s左右 思路&#xff1a; 因为只需要早点显示logo&#xff0c;其实整体从上电到开机动画到安卓系统启动整体…

Keil编译生成的bin文件自动以版本号命名

Keil编译程序生成bin文件时&#xff0c;如何自动以版本号命名bin文件 一、目的二、方法三、实现过程一、目的二、方法三、实现过程1、脚本形式2、可执行文件形式 一、目的 二、方法 三、实现过程 一、目的 Keil编译程序时&#xff0c;生成的Hex/Bin文件名字是根据Keil中工程…

嵌入式软件使用POSIX接口的优缺点

嵌入式软件使用POSIX接口的优缺点 POSIX&#xff0c;即Portable Operating System Interface&#xff0c;即可移植操作系统接口。是操作系统为应用程序提供的接口标准。POSIX标准同样适用于嵌入式软件&#xff0c;这里总结一下嵌入式软件使用POSIX接口的优缺点。 http://blog…

24张图7000字详解计算机中的高速缓存

文章目录1. 什么是缓存2. 缓存的定义3. 计算机中的高速缓存3.1 高速缓存相关名词3.2 计算机中的高速缓存存储器模型3.3 计算机中有哪些缓存3.4 硬件读取高速缓存的过程4. 直接映射高速缓存4.1 组选择4.2 行匹配4.3 字选择4.4 模拟直接映射缓存4.5 直接映射高速缓存的缺陷5. 两路…

100篇带你入门——嵌入式系统中的程序调试方法

好久不见&#xff0c;最近小猿有点忙&#xff0c;才有时间给大家写文章。今天给大家讲一下在我们单片机开发都用哪些调试工具和调试方法&#xff0c;内容不完善的话&#xff0c;欢迎大家一起交流。 当涉及到嵌入式系统的程序调试时&#xff0c;选择正确的工具和方法是确保系统功…

嵌入式软件异步编程:思维导图

I/O分同步I/O和异步I/O&#xff0c;异步I/O又分轮询式异步和回调式异步。 http://blog.csdn.net/zoomdy/article/details/60470131 mingdu.zheng at gmail dot com

十五、信号量

1、概述 (1)前面介绍的队列(queue)可以用于传输数据&#xff1a;在任务之间、任务和中断之间。 (2)有些时候我们只需要传递状态&#xff0c;并不需要传递具体的信息&#xff0c;比如&#xff1a; 我的事做完了&#xff0c;通知一下你。卖包子了、卖包子了&#xff0c;做好了…

程序员如何写一份合格的简历?(附简历模版)

文章目录1. 原始简历1.1 存在问题及改进建议2. 书写简历注意问题2.1 个人信息2.2 邮箱2.3 教育经历2.4 专业技能2.5 实习经历2.6 项目经验2.7 荣誉及奖项2.8 个人博客2.9 自我评价2.10 其他注意事项3. 简历模版推荐3.1 [Markdown-Resume](https://resume.mdnice.com/)3.2 [极简…

嵌入式软件异步编程:应用案例

异步编程有很多成功的应用&#xff0c;例如lwIP、Nginx、Node.js、Linux AIO、JavaScript等。可以将这些成功案例的设计经验引入到嵌入式软件。 http://blog.csdn.net/zoomdy/article/details/61916610 mingdu.zheng at gmail dot com lwIP The raw TCP/IP interface allows …

如何选择加密芯片?

对于工程师和创业者来说&#xff0c;最大的痛苦莫过于设计了一个非常好的产品&#xff0c;再投入市场以后发现&#xff0c;不到一个月甚至更短的时间就发现市场上有竞争对手拿出了一个跟他产品完全一样&#xff0c;包括设计、功能完全一样的产品&#xff0c;但是卖的价格比他低…

总线一:I2C简介(介绍看这一篇就够啦)

本节主要介绍以下内容&#xff1a; I2C协议简介 STM32的I2C特性及架构 I2C初始化结构体详解 一、I2C协议简介 I2C 通讯协议(Inter&#xff0d;Integrated Circuit)是由Phiilps公司开发的&#xff0c;由于它引脚少&#xff0c;硬件实现简单&#xff0c;可扩展性强&#xff…

进程管理--上下文切换

上下文&#xff1a;描述了任务的执行状态。包括任务执行过程中堆栈中的内容和寄存器值&#xff0c;获取的资源信息&#xff0c;自身状态等 上下文切换&#xff1a;当一个任务切换到另一个任务时&#xff0c;它需要保存当前任务的所有状态&#xff0c;即保存当前任务的上下文&a…

二、C语言基本数据类型

在C语言中&#xff0c;数据类型指的是数据的一种属性。它告诉编译器或程序员打算如何使用数据。 1、基本数据类型 整形字符型浮点型 1.1、整形 (1)char (2)unsigned char (3)int (4)unsigned int (5)short (6)unsigned short (7)long (8)unsigned long 1.2、浮点型…

二、串行FLASH文件系统FatFs移植

经过上一节的分析&#xff0c;我们对文件系统有一定的理解了&#xff0c;这一节给大家介绍怎么把FatFs文件系统的这些代码移植到STM32S上&#xff0c;然后STM32利用这一些代码或者函数&#xff0c;以文件的格式对FLASH进行读写数据。 实则对diskio.c提供一些函数接口。 首先将…

LKT4101 8位增强型防盗版加密芯片

LKT4101 8位增强型防盗版加密芯片采用增强型8051智能卡内核&#xff0c;芯片内部嵌入凌科芯安公司的LKCOS智能操作系统&#xff0c;支持UART接口。在KEIL C软件环境下采用标准C语言编写操作代码&#xff0c;编译程序后下载到智能芯片中。用户可将关键算法程序内嵌入芯片中&…

算法移植类加密芯片说明

随着二十一世纪的到来&#xff0c;电子产品已经成为人们生活和学习中不可缺少的必备品。例如手机&#xff0c;MP3&#xff0c;IPAD等等&#xff0c;这些产品无一不满足了人们的娱乐需求。但是当人们沉浸在愉悦之中时偶尔也会发现一些盗版货山寨货&#xff0c;有着和自己的手机&…

以智能卡平台为硬件的嵌入式加密IC的优势

目前嵌入式加密领域内&#xff0c;加密IC成为了不可或缺的保护利器&#xff0c;可以保护mcu中的程序&#xff0c;免于被破解的危险。当然&#xff0c;你必须选择真正有效的加密芯片&#xff0c;才可以起到防止抄板的作用。MCU可以有多种&#xff0c;例如51单片机、ARM 、AVR 、…

LKT2102身份认证方案

LKT2102 加密芯片采用专用的智能卡芯片模块封装&#xff0c;操作系统采用凌科芯安公司自主知识产权的LKCOS 嵌入式安全操作系统&#xff0c;除了具有防检测、抗攻击等硬件特性外&#xff0c;还具有安全的文件密钥管理&#xff0c;完善的安全机制、标准的加密运算功能等特性&…

自动驾驶学习笔记(六)——Apollo安装

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《2023星火培训【感知专项营】》免费课程—>传送门 文章目录 前言 Apollo安装 硬件配置 安装Ubuntu…

嵌入式软件工程师笔试面试指南-操作系统

文章目录 操作系统进程和线程什么是进程?什么是线程?进程和线程有什么区别?何时使用多进程,何时使用多线程?进程有几种状态?画一下进程状态转换图?创建进程有哪几种方式?进程间通信方式有哪些?有什么优缺点?线程间同步方法有哪些?什么是内核线程和用户线程?内核线程…

嵌入式软件异步编程:请求的多阶段异步处理

本文节选自《深入理解Nginx模块开发与架构解析(第2版)》第8章 Nginx基础架构 >> 8.2Nginx的架构设计 >> 8.2.3 请求的多阶段异步处理&#xff0c;和这段文字一样格式的内容是我追加的注解。 这里所讲的多阶段异步处理请求与事件驱动架构是密切相关的&#xff0c;换…

【Linux内核解析-linux-5.14.10】内核总览

内核模块组成 Linux内核中有很多模块&#xff0c;以下是其中的一些&#xff1a; 文件系统模块&#xff1a;包括ext2、ext3、ext4、NTFS、FAT、XFS等文件系统模块。网络模块&#xff1a;包括TCP/IP协议栈、网络驱动程序等。设备驱动模块&#xff1a;包括硬盘、USB、网卡、声卡…

oppo和海康嵌入式软件工程师面经总结

文章目录海康一面&#xff08;3.23,35min&#xff09;自我介绍项目介绍你做的这个项目遇到了那些问题&#xff0c;如何解决的&#xff1f;移植uboot&#xff0c;只做了移植吗&#xff1f;用的那个文件系统&#xff1f;移植过程中&#xff0c;网卡驱动做了那些工作&#xff1f;写…

《深入理解计算机系统》(CSAPP)实验三 —— Buf Lab

这是CSAPP的第三个实验&#xff0c;主要让我们熟悉GDB的使用&#xff0c;理解程序栈帧的结构和缓冲区溢出的原理。 实验目的 本实验的目的在于加深对IA-32函数调用规则和栈结构的具体理解。实验的主要内容是对一个可执行程序“bufbomb”实施一系列缓冲区溢出攻击&#xff08;bu…

S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统

上一节S3C2440移植linux3.4.2内核之内核框架介绍及简单修改我们简单配置了内核&#xff0c;这节来根据继续修改内核。 文章目录启动内核修改内核分区烧写yaffs2文件系统烧写jffs2文件系统构造根文件系统安装busybox安装glibc库构造etc目录构造其它文件/目录制作jffs2映像文件配…

嵌入式软件开发是个啥职业?

在硬件行业中&#xff0c;有一类工作岗位是更偏向软件的&#xff0c;或者说是软硬结合非常紧密的工作&#xff0c;那就是嵌入式开发工程师。 说起嵌入式&#xff0c;可能很多没有接触过电子类的人没有听说这些东西。 其实简单来说&#xff0c;嵌入式开发就是写程序去控制硬件电…

14.TIM输出比较示例程序(PWM驱动LED呼吸灯PWM驱动舵机PWM驱动直流电机)

目录 输出比较相关库函数 PWM驱动LED呼吸灯 PWM驱动舵机 PWM驱动直流电机 输出比较相关库函数 1.OC初始化&#xff08;掌握&#xff09; // 配置输出比较模块&#xff0c;输出比较单元有四个&#xff0c;对应也有四个函数 // 第二个参数是结构体&#xff0c;就是输出比较…

嵌入式要卷成下一个Java了吗?

嵌入式只是一个技术方向&#xff0c;里面有冗杂的技术栈。与Java不同&#xff0c;一台电脑就可以练习大部分的技能&#xff1b;嵌入式可以说是电子技术的一个细分方向&#xff0c;更多时候会接触到更加底层的东西&#xff0c;这时候&#xff0c;难免会和硬件打交道。 而对于相…

01. 如何配置ESP32环境?如何开发ESP32?

0. 前言 此文章收录于《ESP32学习笔记》专栏&#xff0c;此专栏会结合实际项目记录作者学习ESP32的过程&#xff0c;争取每篇文章能够将细节讲明白&#xff0c;会应用。 1. 安装IDE&#xff1a;Thonny 后续项目中我们都是使用pythont语言&#xff0c;而thonny工具能很好的支撑E…

自动驾驶学习笔记(三)——场景设计

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《2023星火培训【感知专项营】》免费课程—>传送门 文章目录 前言 场景设计平台 场景地图 场景基本…

嵌入式开发:鼓励嵌入式代码重用

在嵌入式开发中&#xff0c;实现嵌入式应用的过程很容易理解&#xff1a;l 代码是用C/C/汇编语言或其他语言编写的&#xff0c;并放在许多文件(模块)中。l 每个模块都被编译/汇编成一个可重定位的目标文件。此文件包含目标处理器的机器指令&#xff0c;但尚未提交地址信息。l 使…

12.示例程序(定时器定时中断定时器外部时钟)

目录 定时中断和时钟源选择相关库函数使用 1.定时器初始化配置 2.参数&#xff08;PSC、ARR等&#xff09;更改函数&#xff08;在程序运行过程中修改&#xff09; 3.使用定时器库函数的一些细节 定时器定时中断实例 定时器外部时钟选择 知识点get&#xff1a; 滤波器工作…

【研发日记】Matlab/Simulink技能解锁(四)——在Simulink Debugger窗口调试

文章目录 前言 Block断点 分解Block步进 Watch Data Value 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑窗口Debug》 见《【研发日记】Matlab/Simul…

AT24C02(I2C总线)

存储器简介RAMSRAM&#xff08;静态RAM&#xff09; &#xff0c;内部的存储结构是锁存器&#xff0c;是一个D触发器&#xff0c;用电路来存储数据&#xff0c;是所有存储器中最快的一个&#xff0c;一般用于电脑CPU高速缓存&#xff0c;单片机里面也是SRAM&#xff0c;比如定义…

嵌入式软件异步编程:异步编程模型和传统编程模型

原文&#xff1a;http://www.juma.io/doc/zh/basics/embedded_iot/ 原文标题《技术话题: IoT嵌入式编程》 背景知识 在IT技术高速发展到今天&#xff0c;在为我们的生活带来了翻天覆地的变化的同时。如何更有效的利用计算机资源为我们更好的服务的思考&#xff0c;一直是各大…

【调试技巧】strace神器的使用方法详解与实践

文章目录1. Strace命令简介2. 什么是系统调用3. Strace的参数4. Strace的基本用法5. Strace实战示例5.1 跟踪特定的系统调用5.2 跟踪正在执行的程序5.3 将strace的输出保存到文件中5.4 打印系统调用摘要5.5 跟踪自己的程序6. 总结1. Strace命令简介 strace命令是一个集诊断、调…

嵌入式开发:你需要知道的5种简单

传达嵌入式软件体系结构设计意图通常伴随着基于嵌入式开发人员经验的假设。你可以从资源受限的基于微控制器的系统的角度来看架构设计。如何设计架构将取决于系统的嵌入式软件分类。有许多不同的方法可以对嵌入式软件进行分类。我发现有五种简单的嵌入式软件分类可以帮助我调整…

【实验总结2】独立按键控制LED灯

独立按键根据单片机板子使用手册查看按键控制端口&#xff0c;一般是P3端口&#xff0c;一次为P3_1、P3_0、P3_2、P3_3。#include<reg51.h>//只能操作整个P2 P2 0xFE&#xff1b;#include<regx51.h>//可以直接操作位寄存器 P2_0 0;if(P3_1 0){P2_00;}else{P2_01…

9个提高代码运行效率的小技巧你知道几个?

我们写程序的目的就是使它在任何情况下都可以稳定工作。一个运行的很快但是结果错误的程序并没有任何用处。在程序开发和优化的过程中&#xff0c;我们必须考虑代码使用的方式&#xff0c;以及影响它的关键因素。通常&#xff0c;我们必须在程序的简洁性与它的运行速度之间做出…

LKCOS/PSAM(终端安全控制模块卡)

概述 LKCOS/PSAM(终端安全控制模块卡)卡主要用于嵌入到支付终端产品中&#xff0c;起到对数据安全的加密保护&#xff0c;防篡改。 产品/安全&#xff1a; 符合集成电路卡标准《ISO/IEC 7816-1/2/3/4》&#xff1b; 通过中国人民银行银行卡检测中心检测&#xff0c;完全符合…

LKT2102 16位嵌入式安全控制芯片(ESAM)

LKT2102 ESAM&#xff08;Embedded Secure Access Module&#xff09;嵌入式安全控制模块&#xff0c;主要应用于水、电、气表以及其他设备中。通过表内的ESAM模块和外部CPU卡实现双向安全认证&#xff0c;存储充值及消费金额等重要操作。 产品安全&#xff1a; 支持对称DES/…

LKT4102 8位I2C接口防盗版加密芯片

LKT4102 8位I2C接口防盗版加密芯片采用8位CPU&#xff0c;使用8051内核&#xff0c;在Keil C 软件环境下采用标准C进行编程。用户可通过I2C来保存数据&#xff0c;也可将算法放入芯片内部&#xff0c;在保证芯片安全的同时保护用户程序的安全&#xff0c;安全可靠。LKT4102支持…

小米嵌入式软件工程师笔试题目解析

哈喽&#xff0c;大家好。我又来分享笔试题目了。今天分享的是小米的嵌入式软件开发工程师的笔试题目。这份题目很奇怪&#xff0c;操作系统&#xff0c;数据结构&#xff0c;网络基础&#xff0c;Java&#xff0c;C&#xff0c;数据库&#xff0c;正则表达式&#xff0c;Linux…

《深入理解计算机系统》(CSAPP)实验五 —— Perfom Lab

本次实验是CSAPP的第5个实验&#xff0c;这次实验主要是让我们熟悉如何优化程序&#xff0c;如何写出更具有效率的代码。通过这次实验&#xff0c;我们可以更好的理解计算机的工作原理&#xff0c;在以后编写代码时&#xff0c;具有能结合软硬件思考的能力。 实验简介 本次实验…

《深入理解计算机系统》(CSAPP)读书笔记 —— 第一章 计算机系统漫游

本章通过跟踪hello程序的生命周期来开始对计算机系统进行学习。一个源程序从它被程序员创建开始&#xff0c;到在系统上运行&#xff0c;输出简单的消息&#xff0c;然后终止。我们将沿着这个程序的生命周期&#xff0c;简要地介绍一些逐步出现的关键概念、专业术语和组成部分。…

11.TIM定时中断

STM32标准库开发-总目录-传送门 目录 TIM简介 定时器类型 基本定时器 1.基本定时器时基单元 2.时基单元的工作流程 3.主模式触发DAC的功能 通用定时器 1.通用定时器与基本定时器异同 2.内外时钟源选择功能 3. 编码器接口功能 4.主从触发模式功能 5.输出比较功能 6…

嵌入式软件开发笔试面试知识点总结-C语言部分(试读)

文章目录 C语言简述编译运行一段代码的过程静态链接和动态链接有什么区别静态链接库和动态链接库有什么区别4字节对齐什么是字节对齐?为什么需要字节对齐?几个基本概念字节对齐的几个例子浅析总结#define和const的区别,const比#define的优点数组和指针的区别malloc、free和n…

《深入理解计算机系统》(CSAPP)读书笔记 —— 第五章 优化程序性能

写程序最主要的目标就是使它在所有可能的情况下都正确工作。一个运行得很快但是给出错误结果的程序没有任何用处。程序员必须写出清晰简洁的代码&#xff0c;这样做不仅是为了自己能够看懂代码&#xff0c;也是为了在检査代码和今后需要修改代码时&#xff0c;其他人能够读懂和…

LKT4201 32位高性能RSA算法加密芯片

LKT4201 32位高性能RSA算法加密芯片是目前行业内最低功耗的高性能的RSA加密芯片&#xff0c;芯片采用32位CPU(获得全球最高安全等级EAL5的智能卡芯片)&#xff0c;拥有18K RAM&#xff0c;支持ISO7816及UART通信&#xff0c;通讯速率最高可达1.25Mbps&#xff1b;用户数据存储区…

LKT4200HS 32位高性能防盗版加密芯片

概述&#xff1a; LKT4200 HS 32位高性能防盗版加密芯片以32位最高安全等级智能卡&#xff08;EAL5)芯片为基础&#xff0c;具有目前行业内最高性能最高安全性的软硬件加密产品。用户可将关键算法 程序内嵌入芯片中&#xff0c;从根本上杜绝程序被破解的可能。支持ISO7816及UAR…

LKT4300 32位高性能多接口加密芯片

LKT4300 高性能多接口加密芯片采用32位智能卡专用芯片&#xff0c;带有USB接口的32位智能卡微控制器。内部工作时钟频率可达25M Hz&#xff0c;且可在内部和外部时钟之间动态切换。芯片内嵌USBdevice控制器&#xff0c;支持USB low speed、full speed通信模式。芯片支持 USB 、…

13.TIM输出比较

目录 输出比较功能简介 PWM简介 输出比较通道&#xff08;通用定时器&#xff09; 输出模式控制器的执行逻辑&#xff08;工作流程&#xff09; 输出PWM波形及参数计算 输出比较通道&#xff08;高级定时器&#xff09; 舵机和直流电机 舵机 直流电机及驱动 参考手册 输…

【研发日记】Matlab/Simulink技能解锁(五)——Simulink布线技巧

前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(三)——在Stateflow编辑窗口Debug》 见《【研发日记】Matlab/Simulink…

嵌入式软件的调试工具

目录前言1 调试接口2 调试器(适配器)3 OpenOCD与GDB总结前言 当我们学习嵌入式软件的调试时&#xff0c;经常会听到一些名词&#xff0c;比如JTAG、SWD、SWIM、ST-Link、JLink、DAP-Link、OpenOCD、GDB。那么这些名词所代表的事物之间到底有什么联系又有哪些差别呢&#xff1f…

进步电机和伺服电机

进步电机和伺服电机都是一种能够精确控制位置和速度的电动机&#xff0c;但它们有着不同的工作原理和特点。 进步电机是一种将电脉冲信号转化为角位移的执行机构&#xff0c;当步进驱动器接收到一个脉冲信号&#xff0c;它就驱动步进电机按设定的方向转动一个固定的角度&#…

S3C2440移植uboot之支持NANDFLASH操作

上一节我们移植了uboot&#xff0c;S3C2440移植uboot之支持NORFLASH。这节我们继续移植&#xff0c;支持NANDFLASH。 文章目录编译报错拷贝s3c2410_nand.c&#xff0c;修改宏定义支持SC32440修改s3c2440_nand.c 中的NFCONF&#xff0c;NFCONT&#xff0c;支持S3C2440修改s3c244…

Linux下I2C调试工具--for--Zynq MPSOC/Jetson Xavier

Linux下I2C调试工具 1、简介 i2c-tools是一个专门调试i2c的工具&#xff0c;无需编写任何代码即可轻松调试IC设备&#xff0c;可获取挂载的设备及设备地址&#xff0c;还可以在对应的设备指定寄存器设置值或者获取值等功能。i2c-tools有如下几个常用测试命令i2cdetect, i2cdu…

嵌入式系统基础知识(一):嵌入式系统是什么?

一.定义 根据IEEE&#xff08;国际电气和电子工程师协会&#xff09;的定义&#xff0c;嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”。这主要是从应用上加以定义的&#xff0c;从中可看出嵌入式系统是软件和硬件的综合体&#xff0c;还可以涵盖机械等附属装…

【研发日记】Matlab/Simulink技能解锁(二)——在Matlab Function编辑窗口Debug

文章目录 前言 行断点 条件断点 按行步进 Watch Value 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 行断点 当Matlab Function出现异常时&#xff0c;如果能确定大致的代码段&#xff0c;就可以在相应的行上设置一…

自动驾驶学习笔记(二)——Apollo入门

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《2023星火培训【感知专项营】》免费课程—>传送门 文章目录 前言 Ubuntu Linux文件系统 Linux指令…

【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug

文章目录 前言 时间阈值断点 信号阈值断点 周期步进 Signal Value Lable Data Inspector 分析和应用 总结 前言 近期在一些研发项目中使用Matlab/Simulink时&#xff0c;遇到了挺多费时费力的事情。所以利用晚上和周末时间&#xff0c;在这些方面深入研究了一下&#x…

在嵌入式软件中使用断言的一点想法

嵌入式软件中的断言应该分成三个级别&#xff0c;而不是仅有启用和关闭两种。1、启用断言并打印可读信息&#xff1b;2、启用断言并打印代码地址、3、关闭断言。 原文&#xff1a;http://blog.csdn.net/zoomdy/article/details/46289867 mingdu.zheng at gmail dot com 矛盾 断…

十八、任务通知

1、前言 (1)所谓“任务通知”&#xff0c;可以反过来读"通知任务"。我们使用队列、信号量、事件组等等方法时&#xff0c;并不知道对方是谁。使用任务通知时&#xff0c;可以明确指定&#xff1a;通知哪个任务。 (2)使用队列、信号量、事件组时&#xff0c;我们都需…

【研发日记】C/C++开发避坑秘籍(一)——CAN接收Buffer溢出Bug

文章目录 背景介绍 问题描述 分析排查 解决方案 总结归纳 背景介绍 在一个嵌入式软件项目中&#xff0c;有一段使用C语言写的嵌入式代码&#xff0c;功能是把CAN总线上的几帧报文接收进来&#xff0c;并解析出数据。示例如下&#xff1a; 乍一看感觉挺简单&#xff0c;想着…

HDMI ——CEC 协议详解以及待机唤醒 实现

本文讲解的是基于HDMI CEC的待机唤醒方案的设计。 目录 cec基本介绍 CEC协议时序&#xff1a; CEC数据帧 cec待机唤醒介绍 待机唤醒的处理流程和实现 cec基本介绍 如今常见的高清视频接口有HDMI,VGA,DP和DVI。HDMI&#xff08;High-Definition Multimedia Interface&…

[笔记]ARMv7/ARMv8 交叉编译器下载

开发 Cortex-A7、Cortex-A72 或其他 ARM 架构 profile 芯片时&#xff0c;经常需要下载对应架构的交叉编译器&#xff0c;所以写这篇笔记&#xff0c;用于记录一下交叉编译器下载流程&#xff0c;免得搞忘。 编译环境&#xff1a;ubuntu 虚拟机 下载地址 我们可以从 ARM 官网…

PWM应用

目录 一、应用层操控 PWM 控制pwm 二、编写代码 一、应用层操控 PWM 与 LED 设备一样&#xff0c; PWM 同样也是通过 sysfs 方式进行操控&#xff0c;进入到/sys/class/pwm 目录下&#xff0c;如下所示&#xff1a; 这八个文件夹其实就对应了 I.MX6U的 8 个 PWM 控制器&…

输入设备之触摸屏

目录 一、解析触摸屏设备上报的数据 单点触摸和多点触摸 单点触摸设备事件上报的流程大概如下&#xff1a; # 点击触摸屏时 # 滑动 多点触摸设备--事件上报的顺序 MT 协议之 Type B 协议 测试 二、获取触摸屏的信息 代码编写 代码如下 验证 三、多点触摸APP 验证 …

嵌入式软件测试笔记7 | 嵌入式软件测试中基于风险的测试策略如何开展?

7 | 嵌入式软件测试中基于风险的测试策略如何开展&#xff1f; 1 风险评估1.1 分析风险1.2 如何估计故障几率&#xff1f;1.3 导致故障几率较高的因素1.4 估计可能的损失1.5 风险评估的来源1.6 风险的处理 2 主测试计划中的策略2.1 目标2.2 制定策略的步骤2.3 选择质量特性2.4 …

详解FreeRTOS:嵌入式多任务系统的任务互斥和优先级反转(理论篇—9)

在嵌入式多任务系统中,有些资源必须是独占使用的,多个任务对这样的资源的并发访问将导致错误的发生。一般来说,对需要独占使用的资源必须使用互斥方法将对其的并发访问串行化。 在优先级多任务系统中引入互斥方案,会导致任务优先级反转的问题:假如某时低优先级的任务占有…

嵌入式工程师常见面试题,看看你能否及格?杂谈

上个星期&#xff0c;去深圳一家搞ARM开发的公司面试&#xff0c;HR叫我做了一份卷子&#xff0c;里面都是C编程&#xff0c;心中暗喜&#xff0c;因为这些题基本上都在程序员面试宝典里见过。 后来回到学校&#xff0c;在网上搜索&#xff0c;原来这些题都是嵌入式工程师的经…

FreeRTOS的二值信号量和互斥量之间的区别和联系

目录 1. 二值信号量和互斥量的作用 1.1 二值信号量的作用 1.2 互斥量的作用 2. FreeRTOS二值信号量和互斥锁关系 2.1 不同点 2.2 相同点 3. 如何选择 3.1 根据场景选择合适的同步机制 3.2 根据优先级设计同步机制 FreeRTOS是一款广泛应用于嵌入式系统中的实时操作系统…

开发板与ubantu文件传送

接下来的所以实验都通过下面这种方式发送APP文件到开发板运行 目录 1、在ubantu配置 ①在虚拟机上添加一个桥接模式的虚拟网卡 ②设定网卡 ③在网卡上配置静态地址 2、开发板设置 ①查看网卡 ②配置网卡静态ip 3、 测试 ①ping ②文件传送 传送报错情况 配置环境&#…

自动驾驶学习笔记(一)——Apollo平台

#Apollo开发者社区# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《2023星火培训【感知专项营】》免费课程—>传送门 文章目录 前言 Apollo框架 开发平台 总结 前…

还在老一套?STM32使用新KEIL5的IDE,全新开发模式RTE介绍及使用

Keil新版本出来了&#xff0c;推出了一种全新开发模式RTE框架( Run-Time Environment)&#xff0c;更好用了。然而网上的教程资料竟还都是把Keil5当成Keil4来用&#xff0c;直接不使用这个功能。当前正点原子或野火的教程提供的例程虽有提到Keil5&#xff0c;但也是基本上当Kei…

嵌入式软件异步编程:冥想

异步编程可以编写出速度快、资源省的高效程序&#xff0c;可以在单线程环境下实现高并发&#xff0c;可以在没有操作系统的情况下实现TCP/IP等协议栈。又快又省可以将功耗控制在最低水平&#xff0c;因此异步编程是低功耗设计的最佳编程模型。 http://blog.csdn.net/zoomdy/ar…

FreeRTOS学习笔记——FreeRTOS中断管理

精华总结&#xff1a; 中断优先级0为最高&#xff0c;任务优先级0为最低 中断优先级分组中为方便rtos管理4bit全部设置成抢占优先级 32单片机的中断管理是由3个寄存器完成&#xff08;名字忽略&#xff0c;具体功能忽略&#xff09;&#xff0c;三个寄存器都是32bit&#xff0c…

一个老电工的困惑 企业领导不重视维修电工技术培养

领导不重视也要干好&#xff0c;工作中可以看出个人的人品&#xff0c;保持一颗平常心&#xff0c;把思想用在求知上&#xff0c;新技术新知识需要去学习&#xff0c;不抱怨&#xff0c;不烦恼&#xff0c;你有了本事不用别人看你&#xff0c;你自然会发光&#xff01;我深有同…

S3C2440移植uboot之支持烧写yaffs映像及制作补丁

上一节S3C2440移植uboot之裁剪和修改默认参数裁剪了uboot&#xff0c;修改了默认的参数&#xff0c;这一节开始制作yaffs映像以及补丁文件 文章目录烧写文件系统分析源码烧写yaffs试验使用part制作补丁移植Uboot其他文章链接&#xff1a; S3C2440移植uboot之编译烧写uboot S3…

稳压二极管工作原理、重要参数意义和典型电路参数计算

稳压二极管的工作原理&#xff1a;稳压二极管也叫稳压管&#xff0c;它在电路中一般起到稳定电压的作用&#xff0c;也可以为电路提供基准电压值。稳压二极管使用特殊工艺制造&#xff0c;这种工艺使它在反向击穿时仍然可以长时间稳定工作&#xff0c;不损坏&#xff0c;而工作…

四、初识FreeRTOS之FreeRTOS移植

一、获取FreeRTOS&#xff08;熟悉&#xff09; 1.1 源码获取&#xff1a; FreeRTOS官网&#xff1a;https://www.freertos.org/,本人所使用的例程为FreeRTOS的V10.4.6版本。 进入后点击下载FreeRTOS&#xff0c;选择“FreeRTOS 202112.00”文件&#xff0c;下载完成后解压到…

那些交叉编译问题总结

交叉编译的作用&#xff1f; 为什么需要交叉编译器&#xff1f; 交叉编译器的版本&#xff1f; 如何获取交叉编译器&#xff1f; 面试回答&#xff1a; 我们知道不同的平台CPU体系结构不同&#xff0c;所使用的汇编也不相同。比如Windows下是X86汇编生成的可执行文件&#…

如何在不重启应用程序的情况下使asound.conf得配置生效?

1.在某些应用场景中会遇到需要在程序动态切audio output的情况&#xff0c;比如在一个应用播到tdmc out时&#xff0c;可能需要把应用的输出改到spdif&#xff0c;这时会想到暂停播放&#xff0c;close声卡&#xff0c;改asound.conf的配置&#xff0c;再继续播放重新打开声卡&…

CMake的安装及简单使用

为何要使用项目构建工具 cmake和autotools正是makefile的上层工具&#xff0c;它们的目的正是为了产生可移植的makefile&#xff0c;并简化自己动手写makefile时的巨大工作量。如果你自己动手写过makefile&#xff0c;你会发现&#xff0c;makefile通常依赖于你当前的编译平台…

18.示例程序(编码器接口测速)

STM32标准库开发-各章节笔记-查阅传送门_Archie_IT的博客-CSDN博客https://blog.csdn.net/m0_61712829/article/details/132434192?spm1001.2014.3001.5501 main.c #include "stm32f10x.h" // Device header #include "Delay.h" #incl…

电子工程师是怎么练成的

看后&#xff0c;您可能觉得我有点迂腐。我是一名老电子工程师了&#xff0c;也没啥本事&#xff0c;只能干一辈子这个职业了。 我刚毕业那会&#xff0c;除了一张大专文凭&#xff0c;什么都不会。通过考试&#xff0c;我进厂做了设备维修技术员。由于自己生来不会拍马屁&…

uCOSii任务管理

uCOSii任务管理 主要用来测试uCOSii“创建任务,挂起任务,恢复任务,发送删除任务请求,删除任务”。 在os_cfg.h中 #define OS_LOWEST_PRIO 63u //设置最低优先级为63,则空闲任务优先级OS_TASK_IDLE_PRIO就等于63 //OS_PRIO_SELF为255,因此OS_LOWEST_PRIO<255 注意&a…

Qt快速入门到熟练(3.程序运行发布与设置图标)

程序运行发布 当我们执行过qt过后&#xff0c;将会在项目目录里面生成出一个debug构建目录&#xff0c;点击进去选择debug文件夹&#xff0c;就可以看到我们生成出来的可执行文件。 很显然我们的项目就叫做MyFirstWidget&#xff0c;所以生成的可执行文件在没有人为设置的情…

100篇帮小白入门——什么是嵌入式系统?

嵌入式系统是指一种基于微处理器或微控制器的特定应用系统&#xff0c;通常在某个产品或系统中被嵌入到一个电路板或芯片中。这种系统通常用于控制和监测各种设备和系统&#xff0c;例如汽车、工业机器人、智能家居和医疗设备等。嵌入式系统的应用广泛&#xff0c;其使用范围覆…

嵌入式知识点-SPI通讯

该文原自 &#xff1a; 正点原子 01 SPI概述 SPI (Serial Peripheralinterface),顾名思义就是串行外围设备接口。SPI是一种高速的&#xff0c;全双工&#xff0c;同步的通信总线&#xff0c;并且在芯片的管脚上只占用四根线&#xff0c;节约了芯片的管脚&#xff0c;同…

面对即将到来的30岁--计划与感悟

看到很多人的每年总结&#xff0c;都对自己有一个规划&#xff0c;在此借鉴了一下博主xiaoyu966的格式&#xff0c;对自己进行一下反思与总结&#xff0c;看到他的文章觉得大家的生活何其相似&#xff01; 1. 前言看到很多人的每年总结&#xff0c;都对自己有一个规划&#xff…

嵌入式软件测试笔记3 | 嵌入式软件测试开发的多V模型

3 | 嵌入式软件测试开发的多V模型 1 简单的多V模型2 迭代与并行开发2.1 开发模型2.2 嵌入式开发过程的复杂性 3 多V模型中的测试活动3.1 测试活动和因素3.2 模型开发周期中与测试相关的元素分配3.3 原型开发周期中与测试相关的元素分配3.4 最终产品开发周期中与测试相关的元素分…

【研发日记】白话解读UDS协议(一)——19 04读取快照服务

文章目录 前言 19服务 04子服务 19 04协议 快照存储设计 快照发送设计 功能验证 分析和应用 总结 前言 近期在一个嵌入式软件开发项目中&#xff0c;要按照UDS标准开发相关功能&#xff0c;期间在翻阅UDS标准时&#xff0c;周围同事都说很多地方晦涩难懂。所以利用晚上…

TDA4VM/VH 芯片 NAVSS0

请从官网下载 TD4VM 技术参考手册&#xff0c;地址如下&#xff1a; TDA4VM 技术参考手册地址 概述 (NAVSS0 的介绍在 TRM 的第10.2章节) NAVSS0 可以看作 MAIN 域的一个复杂外设域&#xff0c;实现如下功能&#xff1a; UDMASS: DMA 管理子系统&#xff1b;MODSS&#xf…

SIMD单指令多数据(并行计算)

单指令多数据&#xff08;SIMD&#xff09;是一种并行计算的技术&#xff0c;允许一个指令同时对多个数据元素进行操作。这对于向量计算和多媒体应用非常有用&#xff0c;因为它们经常涉及到对大块数据执行相同的操作。 在 SIMD 中&#xff0c;数据通常被组织成“向量”&#…

【嵌入式实践】【芝麻】【设计篇-3】从0到1给电动车添加指纹锁:项目整体规划

0. 前言 该项目是基于stm32F103和指纹模块做了一个通过指纹锁控制电动车的小工具。支持添加指纹、删除指纹&#xff0c;电动车进入P档等待时计时&#xff0c;计时超过5min则自动锁车&#xff0c;计时过程中按刹车可中断P档状态&#xff0c;同时中断锁车计时。改项目我称之为“芝…

arm内核中的总线是什么?

ARM架构是现代嵌入式系统中广泛使用的一种处理器架构。它采用了一种称为“总线”的技术来连接处理器和其他系统组件&#xff0c;以实现数据和控制信号的传输。在ARM内核中&#xff0c;总线作为连接系统各组件的桥梁&#xff0c;起着至关重要的作用。本文将介绍ARM内核中的总线技…