shellcode arm 32

ELF文件结构分析(arm gnu版本)

为了学习使用objdump和size命令,以simple_section.c为例进行分析。 编译环境是x86 ubuntu下的交叉编译arm指令: 首先编译这个文件。 arm-none-eabi-gcc -c simple_section.c 命令解释 objdump 作用:分析二进制文件的内容信息 ......
版本 结构 文件 ELF arm

ESP32S3通过Arduino移植LVGL

原文:https://www.jianshu.com/p/8306f948b854 LVGL展示 此lvgl开发板开源链接: 准备工作 显示屏驱动,需要用到“画点”或者“画区域”函数 触摸驱动,如果需要用到触摸功能,还需要准备触摸函数,该函数将会返回触摸坐标给lvgl 修改lvgl 下载下来的lvg ......
Arduino LVGL ESP 32S 32

STM32-基于标准库的中断串口通信

目录STM32-标准库实现中断方式的串口通信实验任务实验过程总结体会参考 STM32-标准库实现中断方式的串口通信 实验任务 使用标准库方式,设置USART1 波特率为115200,1位停止位,无校验位,采用中断方式完成下列任务: STM32系统给上位机(win10)连续发送“hello windo ......
串口 标准 STM 32

基于32位Cortex™-M4的STM32F446RET7、STM32F429IGH6、STM32F423VHH6嵌入式微控制器(MCU)

描述 STM32F4 32位Cortex™-M4 微控制器(MCU)打开了进入数字信号控制器(DSC)市场的大门。这一系列器件与 STM32F2 系列引脚对引脚、软件相容,但是具有更好的性能、DSP 性能、更多的 SRAM,并改进了外设,如全双工 I²S、低于 1μA 的 RTC、2.4MSPS 的 ......
32F STM 控制器 32 Cortex

【MISC】[MoeCTF 2022]cccrrc --crc32爆破

附件下载下来为压缩包,需要密码,查看该压缩包的内容 此处发现里面四个txt文件均已被加密,但是每个txt的内容都只有四个字节,符合crc32爆破条件,直接上脚本: import binascii import string def crack_crc(): print(' Start Crack C ......
MoeCTF cccrrc MISC 2022 crc

21.10 Python 使用CRC32校验文件

CRC文件校验是一种用于验证文件完整性的方法,通过计算文件的CRC值并与预先计算的CRC校验值进行比较,来判断文件是否发生变化,此类功能可以用于验证一个目录中是否有文件发生变化,如果发生变化则我们可以将变化打印输出,该功能可用于实现对特定目录的验证。首先实现文件与目录的遍历功能,递归输出文件或目录,... ......
文件 Python 21.10 CRC 21

32-Vue脚手架-Todo-list 案例

Todo-list 案例 组件化编码流程(通用) 1.拆分静态组件:组件要按照功能点拆分,命名不要与html元素冲突,如下所示 2.实现动态组件:要考虑好数据的存放位置,数据是要一个组件在用,还是一些组件在用 一个组件在用:放在组件自身即可 一些组件在用:放在他们共同的父组件上 3.实现交互:从绑定 ......
脚手架 Todo-list 案例 Todo list

32-TIM定时中断

一 16位计数器,功能:定时中断、内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发 ......
TIM 32

STM32基于HAL库流水灯实验

一、搭建STM32的开发环境(一)安装jdk由于STM32CubeMX是Java实现的,需要安装jdk环境。jdk官网下载链接:https://www.oracle.com/java/technologies/javase-downloads.html (二)安装STM32CubeMX1.下载地址: ......
流水 STM HAL 32

idea Error:(3, 32) java: 程序包***不存在的问题

先看看idea的Maven有没有勾选,没有的话勾上,然后ok,运行一下你的项目,等加载完成就ok了。 不勾选的,你的项目是用IDEA实现的没有链到Maven,所以会出现包不存在。 ......
程序 问题 Error idea java

stm32cubeide+bootloader跳转的方法和坑点

网上介绍方法很多,跳转原理可以看这一篇 基于STM32的简易Bootloader实现 - JiuLiBlog - 博客园 (cnblogs.com) 大概步骤为:先判断栈顶地址是否合法,再关闭总中断和systick中断,再设置跳转地址、再加载栈顶地址,然后就可以跳转了,跳转后的应用程序需要先设置栈顶 ......
bootloader cubeide 方法 stm 32

U盘无法格式化为FAT32格式

FAT32(File Allocation Table 32)是一种文件系统格式,常用于较旧的设备和操作系统,如某些移动设备、音频设备、早期的数字相机以及一些特定的嵌入式系统。 FAT32最大只能支持32GB分区,单个文件也只能支持最大4GB。 在使用新的操作系统或设备时,可以选择更先进的文件系统格 ......
格式 FAT 32

ARM单片机知识点

1、STM32编译信息 代码占用FLASH 大小为:Code + RO-data, 7420字节(5054+2366),所用的RAM 大小为:RW-data + ZI-data, 8576(372+8204)。 编译结果里数据的含义: Code:程序所占用FLASH 的大小。 RO-data:即Re ......
知识点 单片机 知识 ARM

STM32驱动 有刷电机 位置,速度,电流,三环控制

PID算法: 位置式PID: 离散化位置式PID: 增量式PID: 增量式和位置式PID程序: int32_t Increment_PID_Control(PID_TypeDef *PID,float Feedback_value) { PID->Error = (float)(PID->SetPo ......
电流 电机 速度 位置 STM

esp32笔记[9]-rust的串口收发及GCODE解析

摘要 使用rust在no-std环境下实现esp32-c3串口收发及gcode解析. 平台信息 esp32c3 rust 超链接 esp32笔记[7]-使用rust+zig开发入门 使用rust实现串口中断 示例代码: serial_interrupts.rs //! This shows some ......
串口 笔记 GCODE rust esp

关于32位MCU GPIO八种工作模式配置

参考链接:https://mp.weixin.qq.com/s/vgYzCcxmsfn7BGWERHfITQ 通常,32位MCU的GPIO有多种配置方式,如STM32、CH32 MCU的GPIO引脚都有八种配置方式,总体可分为两类:输入和输出。其中: 输入可分为: 浮空输入 上拉输入 下拉输入 模拟 ......
模式 GPIO MCU

python win32com加密表格文件;加密目录下的所有表格文件

需求背景:写一个工具,对指定路径下的所有Excel文件进行加密,设置打开密码和编辑密码 实现思路:需要用python遍历指定目录下的所有文件,判断是否是EXCEl文件,还要判断文件是否原本就有密码,加密完成后将结果写入到文本文件 代码: import os import tkinter import ......
表格 文件 目录 python com

STM32在上面运行Java虚拟机确实惊人

STM32在上面运行Java虚拟机确实惊人,但实现了这一点的是特殊优化的Java虚拟机版本,如MicroEJ或JamaicaVM等,它们都是专门为嵌入式系统设计的。 这种Java虚拟机的大小能够做到如此之小(上到几十KB)主要是因为以下全面策略: 功能适配:不同于标准的Java虚拟机,这些虚拟机只包 ......
Java STM 32

关于LINUX ARM开发环境软硬件选取

之前搭建LINUX ARM开发环境,找了好几个ARM硬件平台,包括: 1.树莓派 2.USB WIFI 高通410 3.NasBoard RK3568 主要系统使用的是ubuntu、debian 或 armbian(debian系),没有选择一些正规的开发板主要是因为一个太贵,新的树莓派4也不建议, ......
软硬 环境 LINUX ARM

32-外部中断

EXTI外部中断,TIM定时器中断,ADC,UASRT,SPI,I2C,RTC NVIC(嵌套中断向量控制器) EXTI外部中断 中断响应是cpu处理中断,事件响应是其他外设响应中断。 ......
32

STM32DMA FIFO理解

1.节拍的意思是MSIZE大小的 原目标数据一次传输到FIFO的大小,突发的意思是传到目标地址的过程 ......
FIFO STM DMA 32

STM32F103C8T6移植FreeRTOS过程记录

一、创建基于官方库的裸机工程(这教程很多,每个人创建的工程风格也不一样,就不多赘述了) 二、下载FreeRTOS开源代码(FreeRTOS - Market leading RTOS (Real Time Operating System) for embedded systems with Int ......
FreeRTOS 过程 103C F103 STM

麒麟 ARM 版向日葵自动安装脚本

wget https://down.oray.com/sunlogin/linux/SunloginClient_11.0.1.44968_kylin_arm.deb && dpkg -i SunloginClient_11.0.1.44968_kylin_arm.deb && /usr/local ......
向日葵 脚本 ARM

CH32F系列MCU固件中加入版本信息方法

具体方法如下: 1、新建一个.c文件,如banben.c 2、新建文件中加入以下信息,如下图 #define VERINFO_ADDR_BASE (0x0800F000) //存放FLASH的地址 const char Software_Ver[] __attribute__((at(VERINFO ......
固件 版本 方法 信息 32F

关于STM32F407ZGT6的USB损坏后使用ST-Link和USART1实现串口功能

开发板:STM32F407ZGT6; 目标:想使用软件“串口调试助手” 情况:开发板上的USB_UART口所在器件损坏或者直接没有; 解决办法:查看该开发板的原理图,可得:串口1的RX接TXD,串口1的TX接RXD,那么按如下步骤操作:1、现在使用USB转TTL模块,将串口1的RX接USB转TTL模 ......
串口 ST-Link 功能 USART1 USART

关于CH32V系列MCU浮点打印使用配置差异

当程序中需要打印浮点数时,按照下图配置任意勾选一个即可打印浮点数: 当勾选第一个时,float打印会输出正确数值,具体如下: 当勾选第二个时,float打印输出数值如下(5.20会输出5.19),具体如下。 此时若需要输出正确数值5.20,将float类型改为double类型即可 产生该现象的原因: ......
浮点 差异 32V MCU CH

关于CH32V系列MCU FLASH地址的分配

来源:https://www.cnblogs.com/liaigu/p/17784283.html 关于在MRS开发环境下,针对CH32V系列MCU FLASH分配,具体方法如下: 比如开辟一段空间,存放数组等数据,首先在ld文件中修改FLASH分配,如下图: .consumer_flash1 : ......
地址 FLASH 32V MCU CH

关于CH32系列MCU设置noinit变量

关于noinit定义:noinit段指的是芯片SRAM的一块内存区域(注意是RAM区而非Flash),在该段定义的变量、或者函数,在除了掉电之外的任何芯片复位的情况下都不会被重新初始化。 关于noinit作用:no_init段常用来保存一些敏感信息,特殊应用场合下的不能被复位的数据或者做复位判断标志 ......
变量 noinit MCU CH 32

关于CH32V系列MCU FLASH地址的分配

关于在MRS开发环境下,针对CH32V系列MCU FLASH分配,具体方法如下: 比如开辟一段空间,存放数组等数据,首先在ld文件中修改FLASH分配,如下图: .consumer_flash1 : { . = ALIGN(4); }AT>FLASH1 .consumer_flash2 : { . ......
地址 FLASH 32V MCU CH

hc32f4a0 bootloader跳转app后中断异常

起因 从HC32F460上移植bootloader到HC32F4A0上后,应用程序无法正常使用。主要代码如下: void execute_user_code(uint32_t appxaddr) { uint32_t JumpAddress; sram_size = (*(uint32_t *)ap ......
bootloader 32f app hc 32