- 2024-11-20STM32F103嵌套向量中断控制器
一、STM32F103中断介绍1.1什么是中断中断:打断CPU执行正常的程序,转而处理紧急程序,然后返回原暂停的程序继续运行;举例:当你正在写作业时,做到一半又去吃饭,吃完饭后又回来接着原来的作业继续完成。对于单片机来说,中断是指CPU正在处理某个事件A,发生了另一件事件B,请求CPU迅速去处理
- 2024-10-26FreeRtos的移植
一.前言之前移植过freertos操作系统,涉及到计算机和操作系统的底层,特此详细记录下这些知识点。至于具体的详细步骤,就不给出了,网上有很多参考,这里只分析“重点”。笔者的cpu内核是cotex-M3.二.3个重点函数vPortSVCHandler():加载第一个任务的中断处理函数。xPortPendSVHandler()
- 2024-10-09汇编学习笔记
在学习STM32前,需要了解的汇编思想初始化AREASTACK,NOINIT,READWRITE__initial_spAREARESET,DATA,READONLY__VectorsDCD__initial_spDCDmainAREA|
- 2024-10-09[快速阅读八] HDR->LDR:Matlab中tonemapfarbman函数的解析和自我实现。
最近受朋友的委托,想自己实现Matlab里的一个HDR转LDR的函数,函数名是tonemapfarbman,乘着十一假期,稍微浏览下这个函数,并做了一点C++的实现和优化。为了看到这个函数的效果,需要至少matlab R2018b及其以上的版本。 首先,我们下载了matlab帮助文档中提到的该算法对应的论
- 2024-09-19ARM汇编指令
一、学习ARM汇编的目的 学习arm汇编的主要目的是为了编写arm启动代码,启动代码启动以后,引导程序到c语言环境下运行。换句话说启动代码的目的是为了在处理器复位以后搭建c语言最基本的需求。因此启动代码的主要任务有:初始化异常向量表;初始化各工作模式的栈指针
- 2024-09-103.js - 阴影映射、色调映射(曝光度)
阴影映射、色调映射阴影映射shadowMapconstrenderer=newTHREE.WebGLRenderer({alpha:true})`阴影映射: 用于,计算物体投射到其他物体上阴影的技术, 阴影映射,通过,在场景中,从光源的视角渲染一次场景(深度测试)来工作,从而确定哪些部分被其他物体遮挡,进而生成阴影。`
- 2024-07-211、异常与中断的概念及处理流程
1中断的引入1.1妈妈怎么知道孩子醒了妈妈怎么知道卧室里小孩醒了?①时不时进房间看一下:查询方式简单,但是累②进去房间陪小孩一起睡觉,小孩醒了会吵醒她:休眠-唤醒不累,但是妈妈干不了活了③妈妈要干很多活,但是可以陪小孩睡一会,定个闹钟:poll方式要浪费点时间,但是可以继
- 2024-07-07UCOS-III 系统移植
1.移植前准备1.1源码下载UCOS-IIIKernelSource: https://github.com/weston-embedded/uC-OS3.gitMicriμmCPUSource : https://github.com/weston-embedded/uC-CPU.gitMicriμmLibSource:https://github.com/weston-embedded/uC-LIB.git 1.2.源码介绍1.
- 2024-07-05【linux学习---1】点亮一个LED是多么的困难!!!
文章目录1、原理图找对应引脚2、IO复用3、IO配置4、GPIO配置5、GPIO时钟使能6、总结7、编程8、编译9、链接10、格式转换11、反汇编(查看用)12、使用Makefile操作13、代码烧写14、代码验证1、原理图找对应引脚从上图可以看出,蜂鸣器接到了BEEP上,BEEP就是GPIO5
- 2024-06-15QT210开发板学习(2): 通过DNW点亮LED灯
查找开发板原理图,可知可用的LED有4个,引脚为EINT0/1/2/3,对应的IO口则是GPH0_0/1/2/3,寄存器有GPH0CON,GPH0DAT,GPH0PUD,GPH0DRVGPH0CON用来设置IO模式(地址为0xE0200C00),GPH0DAT是电平状态(地址为0xE0200C04)我们需要设置为Output模式,并且将状态设置为高电平新
- 2024-04-16Keil编译遇到L6286E错误
在使用Keil(版本为uVisionV5.38.0.0)编译工程的时候碰到了一个报错:Error:L6286E:Relocation#REL:0incm0dasm.o(.text)withrespectto__main.Value(0xfffffffa)outofrange(0-0xff)for(R_ARM_THM_PC8)启动汇编代码如下所示Reset_HandlerPROCGLOBALReset
- 2024-03-29ARM 指令 LDR、STR等详解
前言 本期和大家主要分享的ARM汇编指令集中的内存操作类指令,涉及到内存操作,不得不说CPSR,SP,LR,PC是非常重要的几个寄存器,所以接下来就来具体观察一下其内存窗口的具体变化!一、跳转指令1.1相对跳转相对跳转:bfun基于当前pc前后32M范围寻找标号,跳转到标号处执行代
- 2024-03-18Oracle 之:spool 导出 与 sqlldr 导入
说明,内容均来自AlfredZhao的https://www.cnblogs.com/jyzhao/p/4819884.html(感谢分享),以下仅记录个人操作过程中的关键说明:一.使用sqlplus导出查询结果:1.准备脚本call.sql如果只需要单纯的导出excel或csv,可以PL/SQL中进行查询导出再另存为。这里只是尝试一下sql
- 2024-03-16汇编bringup LED
此节学习视频:https://www.bilibili.com/video/BV1yE411h7uQ?p=6&vd_source=432ba293ecfc949a4174ab91ccc526d6 在STM32上,.s就是汇编,cortexA一般不会提供汇编,必须自己写汇编文件,对于A系列,初始化ram,没办法用c初始化,必须先初始化一些外设,这些外设必须用汇编初始化,但是用到的汇编
- 2024-01-17如何阅读芯片手册,裸机驱动开发步骤以及纯汇编实现点灯,汇编结合c点灯,c实现点灯
一.如何阅读芯片手册(datasheet) 作为嵌入式学习者,如何去阅读芯片手册是重中之重。不管是什么芯片手册,在写的怎么天花乱坠,它的本质也就是使用说明书。 可是问题来了,它Y的是本英语的说明书,但是英语不好的友友们不要过于焦虑,我们现在有了很好的翻译软件
- 2023-12-21ADC-------光敏电阻
ADC转换//adc_drv.c,光敏电阻的驱动程序#include<linux/errno.h>#include<linux/kernel.h>#include<linux/module.h>#include<linux/slab.h>#include<linux/input.h>#include<linux/init.h>#include<linux/serio.h>#include
- 2023-10-182.7 HDR与LDR
一、基本概念HDR=HighDynamicRange(自然界动态范围)LDR=LowDynamicRange(显示器动态范围)动态范围=最高亮度/最低亮度LDR8位精度单通道0-1拾色器、一般图片、电脑屏幕HDR远高于8位的精度单通道可超过1HDRI、真实世界二、为什么需要HDR1.为了更好的色彩,更高的动态范围和更丰富
- 2023-07-26hook某游戏人物移速
注:本期是写给自己看的首先,我找到了a内存的某个忍者的人物移速,然后通过ce调试,找到了访问他的操作码LDR R0,[R4,#36]随后看了寄存器,r4十进制偏移36就是这个忍者的移速,而ldr是把他读取到r0中接着我看到了他地址下面的地址,操作码是这个STR R0,[R9,#20]str则是将r0存入r9十
- 2023-07-06[Rootkit] 修改 peb 隐藏 dll(断链)
PEB中有一个成员Ldr:typedefstruct_PEB{UCHARInheritedAddressSpace;UCHARReadImageFileExecOptions;UCHARBeingDebugged;UCHARBitField;ULONGImageUsesLargePages:1;ULONGIsProtectedProcess:1;ULONGIsLegacyProcess:1;
- 2023-07-04第014课 Jz2400_ARM异常与中断体系详解
第001节_概念引入与处理流程取个场景解释中断。假设有个大房间里面有小房间,婴儿正在睡觉,他的妈妈在外面看书。问:这个母亲怎么才能知道这个小孩醒?过一会打开一次房门,看婴儿是否睡醒,让后接着看书一直等到婴儿发出声音以后再过去查看,期间都在读书第一种叫做查询方式:*优点:简单*缺
- 2023-07-03新1期视频第14课und异常中断模式的bug以及对应的解决方法
正在学习新1期第14课und异常模式程序示例的同学,可能会发现014_und_exception_014_004\001的代码存在如下BUG,学员在论坛反馈后,我们已经第一时间解决,下面将以对话的形式完整的呈现这个解决方案。**学员azoxi:**对ARM裸机加强版-第14课und异常模式有打印异常疑惑,以下是我的start.S代
- 2023-07-02Compile result comparison
Thesourcecodeasbelow#include<stdint.h>#include<stdio.h>typedefstruct{uint8_tdata1;uint8_tdata2;uint8_tdata3;uint8_tdata4;uint8_tdata5;}config_t;config_tgConfig[2]={0};uint8_tgIndex=0;confi
- 2023-06-25[ARM 汇编]高级部分—ARM汇编编程实战—3.3.3 嵌入式应用程序设计实例
在本章节中,我们将学习如何使用ARM汇编编写一个简单的嵌入式应用程序。我们将以STM32F103微控制器为例,编写一个程序,实现按下按钮时点亮LED的功能。硬件连接首先,我们需要将STM32F103微控制器的一个GPIO引脚连接到LED(通过一个合适的电阻),另一个GPIO引脚连接到按钮。假设我们使用以
- 2023-04-30gun cm4 启动指令梳理
(gdb)disassembleDumpofassemblercodeforfunctionReset_Handler:0x08012090<+0>: ldr.w sp,[pc,#52] ;0x80120c8<LoopFillZerobss+18>0x08012094<+4>: ldr r0,[pc,#52] ;(0x80120cc<LoopFillZerobss+22>)0x08012096<+
- 2023-04-13Linux操作系统ARM指令集与汇编语言程序设计
一、实验目的1.了解并掌握ARM汇编指令集2.应用ARM指令集编写一个程序操控开发板上的LED灯二、实验要求应用ARM汇编指令集编写程序,实现正常状态下开发板上的LED灯不亮,按下一个按键之后开发板上的LED灯进入流水灯模式。三、实验原理四个LED灯的电路如下图所示:四个按键电路图