自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (10)
  • 收藏
  • 关注

原创 关于Linux内核code段被改写的原因分析

本文基于Linux-4.19.125, ARM V7,dual core。

2024-04-09 22:15:39 711

原创 linux fixmap分析

Linux内核启动过程中,经过汇编阶段后,mmu功能已经开启,后续只能通过虚拟地址来访问DDR,但是此时能够访问的地址范围有限,只有idmap和swapper部分可以找到物理地址,其他没有通过MMU映射的虚拟地址是无法访问的。fixmap就是为了解决在正式建立所有物理内存映射之前,实现early console、FDT映射、early ioreamp、paging init等过程中使用虚拟地址问题的。

2024-04-08 10:44:04 184

原创 linux启动之__lookup_processor_type

_lookup_processor_type_data描述了__proc_info的信息:1. __lookup_processor_type_data地址;2. __proc_info_begin地址;3. __proc_info_end地址;4. __lookup_processor_type_data的大小;/** Note!* NOTE!*/

2024-03-29 20:03:11 697

原创 linux struct pt_regs结构体

【代码】linux struct pt_reg结构体。

2024-03-29 14:02:03 227

原创 Linux启动之__mmap_switched

总结下来,主要干了两件事情:1. 清除.bss2. 保存process ID/Machine type/DTB地址。

2024-03-28 20:50:45 104

原创 gdb 定位coredump中so库的位置

libddd.c#include <stdio.h>#include <string.h>int fun_dll(){ void *pTmp = NULL; printf("In dll\n"); memcpy(pTmp, 0, sizeof(100)); return 1;}gdbso.c#include <dlfcn.h> #include <stdio.h>typedef int (*LPFun) (

2022-03-12 12:12:25 4276

原创 Linux pstore实现自动“抓捕”内核崩溃日志

说明:本文基于内核:linux-4.19.125概述最近因工作关系,启用了linux的pstore功能。pstore的主要功能是存储linux内核崩溃前的内核日志,具体可参考内核文档介绍:linux-4.19.125\Documentation\admin-guide\ramoops.rst也可以参考宋宝华老师的博客:Linux pstore 实现自动“抓捕”内核崩溃日志_宋宝华-CSDN博客在原理方面,宋宝华老师写的非常详细。我这里仅记录我的操作总结。总体来说,分为4步

2021-10-22 17:02:32 5471 5

原创 在glibc中添加自定义so

需求在glibc中添加一个mytest so文件1. 创建mytest文件夹~/projects/tstglib/glibc-2.25$ mkdir mytest2. 修改Makefile~/projects/tstglib/glibc-2.25$ vi Makeconfig2.1 确保生成libmytest.so# List of non-library modules that we build.built-modules = iconvprogs iconvdata l..

2021-09-17 16:16:12 299

转载 Linux Hung Task分析

Linux Hung Task分析来源:Linux Hung Task分析本文章向大家介绍Linux Hung Task分析,主要包括Linux Hung Task分析使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。经常会遇到内核打印“INFO: task xxx:xxx blocked for more than 120 seconds.”这样的log信息,这是内核的hung task机制在起作用。hung task机制通过内核线程khungt

2021-09-14 15:25:29 976

原创 编译busybox

本文基于:busybox-1.32.0交叉编译器:arm-linux-gnueabi-下载busybox-1.32.0后解压:tar xjvf busybox-1.32.0.tar.bz2选择[*] Build static binary (no shared libs)保存退出,生成.config文件。编译# make CROSS_COMPILE=arm-linux-gnueabi-# make install CROSS_COMPILE=arm-linux.

2021-09-10 19:50:28 178

原创 busybox添加自定义applet

本文基于:busybox-1.32.0添加自定义applet的说明请参考busybox源码下的 docs/new_applet-HOWTO.txt 文档步骤:(1) 、在适当的目录编写 applet 代码#~/projects/busybox-1.32.0$ mkdir myapplet#~/projects/busybox-1.32.0$ cd myapplet#~/projects/busybox-1.32.0/myapplet$ vi myapp.cmyapp.c#inc

2021-09-10 19:36:17 332

原创 Linux kernel模块(.ko)实现unix domain socket通信(server)

Linux kernel模块(.ko)实现unix domain socket通信(server)ko server代码:srv.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/socket.h>#include <linux/net.h>#include <linux/un.h>

2021-09-08 16:09:55 746

转载 [转]ARM MOV指令对立即数的要求

MOV R1,#9 以上指令表示把9传送到寄存器R1中。需要注意的是,这里的立即数是有要求的,不是说任何一个立即数都可以。要求是:立即数可以由一个8位的常数循环右移偶数位得到。其中循环右移的位数由一个4位二进制的两倍表示。如果立即数记作immediate,8位常数记作immed_8,4位的循环右移值记作rotate_imm,则immediate=immed_8循环右移(2*rotate_imm)所以,MOV r0, #0xFF, 2这里2是循环右移数,必须...

2021-05-08 07:47:48 1303

原创 RT-Thread MDK开发环境搭建

1. MDK安装MDK下载路径:https://www.keil.com/download/product/注意:安装路径不能有空格否则会安装失败。安装成功2.Keil MDK模拟器STM32F103下载地址:https://www.rt-thread.org/document/site/tutorial/quick-start/stm32f103-simulator/rtthread_simulator_v0.1.0.7z然后等待导入结束3. 下..

2021-05-02 10:50:23 2378

原创 标准及论文获取方法

标准及论文是工程师进行研发及创新的重要依据。标准可以分为国际标准、国家标准、行业标准、地方标准或团体标准等不同的层级,论文也包括会议论文及期刊论文等不同类型。1 国际标准国际标准是指国际标准化组织(ISO)、国际电工委员会(IEC)和国际电信联盟(ITU)制定的标准,以及国际标准化组织确认并公布的其他国际组织制定的标准。比如我们熟悉的3GPP制定的LTE-Advanced标准,经过ITU评估认证为IMT-Advanced后,才正式确认为国际认可的4G标准,在全世界范围内通用。1.1 ITU国

2021-04-30 10:48:10 555

原创 arm 将全局变量指定到固定地址

1. 定义全局变量sensorhub_dynamic_table#pragma arm section rwdata="sensorhub_extern_call"volatile xxx_t sensorhub_dynamic_table = { copy_fun_ptr, i2c_rd, i2c_wr, ...};#pragma arm section rwdata关于#pragma arm section的使用可以参考《#pragma arm sec...

2021-04-30 10:44:29 1899

原创 Crash 工具使用

1. cat sysdump.core* > vmcore2. crash -m phys_base=0x80000000 vmlinux vmcore crash -m phys_base=0x80000000 --cpus=2 --no_data_debug sysdump vmlinux crash64 -m phys_offset=0x80000000 --no_data_debug sysdump.core symbols/vmlinux3. crash常用命令: .

2021-04-19 10:06:08 1013

原创 Python获取行号/函数名/文件名

实现:import inspectget_line = lambda :inspect.getframeinfo(inspect.stack()[1][0]).linenoget_file = inspect.__file__get_func = lambda :inspect.getframeinfo(inspect.stack()[1][0]).function调用get_line()测试#encoding=utf-8import inspectget_line =

2021-03-05 18:23:55 902

原创 百度AI 文字识别示例

百度AI 文字识别示例#encoding=utf-8from aip import AipOcr""" 你的 APPID AK SK """APP_ID = '你的app id'API_KEY = '你的api key'SECRET_KEY = 'CkuOy82dFdkg50bsIivmz4jRdf1xCXZ0'img_file="C:\\1.jpg"client = AipOcr(APP_ID, API_KEY, SECRET_KEY)""" 读取图片 """def get_f

2021-03-04 10:30:43 373 1

原创 Python读写tty设备

环境Linux + Python 2.7import osimport sysimport selectMAX_READ_CNT = 256def write(dev, endl="\r", timeout=5 #seconds ): try: tty = os.open(dev, os.O_RDWR) while True: at = raw_input() #input() Python 3.x if at.lower() in ["quit",

2021-03-02 17:58:15 985

原创 如何使用C/C++为Python编写DLL

1. 使用C/C++编写DLLVS创建一个Win32 Project选择DLl,勾选Empty Project新建test.h#ifndef _TEST_H_#define _TEST_H_int sum(int, int)int sub(int, int);#endif新建test.cpp#define DLLEXPORT extern "C" __declspec(dllexport)DLLEXPORT int sum(int a, int b) { re

2021-02-26 14:52:49 301

原创 OpenCv漫水填充floodFill详解

函数原型int cv::floodFill ( InputOutputArray image, InputOutputArray mask, Point seedPoint, Scalar newVal, Rect * rect = 0, Scalar loDiff = Scalar(), Scalar upDiff = Scalar(), ...

2018-07-09 10:56:27 31627 10

原创 OpenCV threshold函数详解

threshold函数作用:去掉噪,例如过滤很小或很大像素值的图像点。threshold函数原型:double threshold( InputArray src, OutputArray dst, double thresh, double maxval, int type );参数说明:src:原图像。dst:结果图像。thresh...

2018-07-03 17:33:56 93051 2

scatter load.docx

Scatter Loading文档翻译

2021-05-18

林锐-高质量C、C++编程指南.rar

林锐-高质量C、C++编程指南

2021-04-15

C Programming笔记

C Programming笔记

2021-04-14

C Programming.rar

C Programming for the Absolute Beginner, 2nd Edition Computer Fundamentals and Programming in C Iso_C_1999_definition Modern C Quick Syntax Reference, 2nd Edition The Art of Unix Programming The C Programming Language, 2nd Edition

2021-04-14

C_Standard_2011.rar

C_Standard_2011

2021-04-14

ModemAssistant.rar

modem异常分析工具

2021-04-08

OpenCV threshold Demo code V2

python环境下的Opencv + PyQt 演示threshold函数的用法 环境: python3.5 、PyQt5.8、opencv3.4

2018-07-04

OpenCV threshold Demo code

python环境下的Opencv + PyQt 演示threshold函数的用法 环境: python3.5 、PyQt5.8、opencv3.4

2018-07-03

Computer Vision with OpenCV 3 and Qt5 pdf + code

Computer Vision with OpenCV 3 and Qt5英文原版pdf 及配套Code源码 本资源来自自网络,如有侵权,请联系上传者或csdn删除

2018-05-29

Learning Image Processing with OpenCV pdf + code

Learning Image Processing with OpenCV 英文原版pdf 及配套Code源码 本资源来自自网络,如有侵权,请联系上传者或csdn删除

2018-05-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除