- 2024-11-21AT32F403a/407开启RAM扩展,增加RAM到224K字节
打开artery的AN0026应用笔记(AN0026_Extending_SRAM_in_User's_Program_ZH_V2.0.0.pdf),可以看到AT32的出厂预设的SRAM的大小为96K字节,可以修改EOPB0扩展到224K字节。EOPB0的寄存器设置如下,根据下方可知需要将EOPB0的0-7位设置位0xFE。但是在设置EOPB0之后,必须执行系统复位的命
- 2024-11-20STM32F103嵌套向量中断控制器
一、STM32F103中断介绍1.1什么是中断中断:打断CPU执行正常的程序,转而处理紧急程序,然后返回原暂停的程序继续运行;举例:当你正在写作业时,做到一半又去吃饭,吃完饭后又回来接着原来的作业继续完成。对于单片机来说,中断是指CPU正在处理某个事件A,发生了另一件事件B,请求CPU迅速去处理
- 2024-11-02ics4
T1opcode4位nzp3位PCoffset9位最大内存:x40FFT2立即数寻址,寄存器寻址,直接寻址,间接寻址,基址偏移寻址operateinstructions:ADD,NOTdatamovementinstructions:LEA,LDRcontrolinstructions:JMPADD:寄存器寻址,立即数寻址NOT:寄存器寻址LEA:寄存器寻址,直接寻址L
- 2024-10-27BuildCTFwp
自己本次比赛负责reverse,misc,crypto方向,web和pwn就不写了MiscFindYourWindows告诉了key文件,应该是磁盘类的题,用veracrypt解决提示桌面有问题,改成zip文件看看BuildCTF{I2t_s0_e5sy!!!}四妹?还是萍萍呢?fromPILimportImageimportqrcodedefstitch_images(image_pat
- 2024-10-26FreeRtos的移植
一.前言之前移植过freertos操作系统,涉及到计算机和操作系统的底层,特此详细记录下这些知识点。至于具体的详细步骤,就不给出了,网上有很多参考,这里只分析“重点”。笔者的cpu内核是cotex-M3.二.3个重点函数vPortSVCHandler():加载第一个任务的中断处理函数。xPortPendSVHandler()
- 2024-10-17FreeRTOS - 任务调度
在学习FreeRTOS过程中,结合韦东山-FreeRTOS手册和视频、野火-FreeRTOS内核实现与应用开发、及网上查找的其他资源,整理了该篇文章。如有内容理解不正确之处,欢迎大家指出,共同进步。1.任务的调度机制(核心是链表)使用链表来管理任务谁进行调度?TICK中断!每隔固定时间,会产生
- 2024-10-15从0开始linux点灯
从0开始linux点灯
- 2024-09-30ARM MDK开发中的\$Super\$\$main与\$Sub\$\$main
参考一般在.s文件中通过类似如下代码来跳入__main中,也就是$Sub$$main函数中:;resetVectortableaddress.LDRR0,=0xE000ED08STRR2,[R0]LDRR0,=SystemInitBLXR0
- 2024-09-19ARM汇编指令
一、学习ARM汇编的目的 学习arm汇编的主要目的是为了编写arm启动代码,启动代码启动以后,引导程序到c语言环境下运行。换句话说启动代码的目的是为了在处理器复位以后搭建c语言最基本的需求。因此启动代码的主要任务有:初始化异常向量表;初始化各工作模式的栈指针
- 2024-09-18ARM基础知识点及简单汇编语法
计算机最小系统是一个能启动并运行基本功能的系统,其组成包括:处理器(CPU):执行指令的核心组件。内存:RAM:存储运行中的程序和数据。ROM:存储引导程序或固件。存储:用于存储操作系统和应用程序的设备,如闪存。输入输出接口:基本的通信接口,如串行接口(UART)和GPIO(通用输入输出)。电源:提供
- 2024-09-04鸿蒙内核源码分析 (编码方式篇) | 机器指令是如何编码的?
本篇说清楚 ARM指令是如何被编码的,机器指令由哪些部分构成,指令有哪些类型,每种类型的语法又是怎样的?代码案例|C->汇编->机器指令看一段C语言编译(clang)成的最后的机器指令(armv7)intmain(){inta=0;if(a!=1)a=2*a+1;returna;}生成汇
- 2024-09-02基于AT89C51单片机的自动加料机控制系统设计
本篇文章论述的是基于AT89C51单片机的自动加料机控制系统设计的详情介绍,如果对您有帮助的话,还请关注一下哦,如果有资源方面的需要可以联系我。系统框图系统硬件框图程序清单ORGLJMPIINT0ORG0080HMAIN:MOVSP,#60HMOVPSW,#00HMOV
- 2024-09-01STM32F1+HAL库+FreeTOTS学习8——第一个任务,启动!
STM32F1+HAL库+FreeTOTS学习8——第一个任务,启动!开启任务调度器1.函数vTaskStartScheduler()2.函数xPortStartScheduler()启动第一个任务1.函数prvStartFirstTask()2.函数vPortSVCHandler()上一期我们学习了列表和列表项的相关内容和API函数实验,接下来我们
- 2024-08-31GNU 汇编语法基础
目录一、引言二、GNU汇编基本结构1.指令格式2.注释3.段三、寄存器和寻址方式1.寄存器命名2.寻址方式四、指令集 1.数据传送指令2.算术运算指令 3.逻辑运算指令4.控制流指令 五、宏和函数 1.宏定义 2. 函数定义六、总结 一、引言
- 2024-08-20存储保护单元(MPU)的简介
MPU主要解决了软件的隔离问题,防止不同任务或错误的代码访问或破坏关键数据区。特别是在多任务操作系统中,MPU通过定义不同的内存区域,为每个任务分配独立的内存区域,确保了操作系统的核心安全和数据的完整性。MPU支持分成8个region,每个region又可以分成更小的子region,但是子rei
- 2024-08-07使用Cisco进行模拟配置OSPF路由协议
OSPF路由协议1.实验目的1)理解OSPF2)掌握OSPF的配置方法3)掌握查看OSPF的相关信息2.实验流程开始→布置拓扑→配置IP地址→配置OSPF路由并验证PC路由的连通性→查看路由器路由信息→查看路由协议配置与统计信息→查看OSPF进程及区域信息→查看路由器OSPF数
- 2024-07-30嵌入式必备知识总结(一)
计算机系统结构 计算机系统结构是计算机科学中的一个重要领域,研究计算机系统的设计和组织。计算机系统结构主要关注以下几个方面:1.计算机硬件组成a.中央处理单元(CPU)CPU是计算机的核心,负责执行指令并控制其他硬件组件。算术逻辑单元(ALU):执行算术和逻
- 2024-07-29深圳大学-计算机系统(1)实验-简单游戏设计
实验目的与要求(1)熟悉和理解LC-3的子程序指令格式。(2)掌握利用子程序解决问题的思路,加深对底层硬件的理解。实验内容具体一点:https://users.ece.utexas.edu/~patt/04f.306/LabAssignments/Lab5/lab5.html根据点和盒子游戏提供的一个通用框架以及一些提供好的子程序。
- 2024-07-25Vivotek CC8160 栈溢出漏洞复现
漏洞文件https://github.com/Vu1nT0tal/IoT-vulhub/tree/master/VIVOTEK/remote_stack_overflow另需文件arml内核,文件系统,arm-gdbserver,initrd。https://people.debian.org/~aurel32/qemu/armel/启动qemu-systemqemu-system-arm-Mversatilepb-kernelvmlinuz-3.2.0-4-v
- 2024-07-21ARM体系结构和接口技术(九)异常
文章目录(一)异常模式(二)Cortex-A7核的异常处理流程分析1.保存现场(系统自动完成)2.恢复现场(程序员手动完成)3.异常处理流程(三)软中断验证异常处理函数异常就是处理器从用户模式切换到对应的异常模式的事件,进入异常模式之后执行对应的异常代码。异常源:引发处理器进入
- 2024-07-18从头理清uboot(2)-启动流程分析
从头理清uboot(2)-启动流程分析目录从头理清uboot(2)-启动流程分析1.总体流程图2.逐步分析2.1上电后执行的第一条指令2.2初始化中断向量表2.3初始化工作模式&初始化中断向量表。2.4cpu_init_cp15&cpu_init_crit2.4.1cpu_init_cp152.4.1cpu_init_crit2.5进入_main函数2.5
- 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-24A15 汇编启动阶段-BSP
MSRCPSR_c,#Mode_SVC|I_Bit|F_Bit //SVCmode //setupvectormode /*BIT[13]: 0:选择低端异常中断向量0x0~0x1c 1:选择高端异常中断向量0xffff0000~0xffff001c*/ MRC p15,0,r0,c1,c0,0 //ReadControlRegister BIC r0,r0,#(1<<13) //u