自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (1)
  • 收藏
  • 关注

原创 opencv环境搭建

环境配置

2023-07-16 21:39:21 366

原创 可靠>聪明

可靠> 聪明

2023-01-15 17:17:13 479

原创 正确归因->无限进步

正确归因

2023-01-10 23:29:39 391

原创 vscode自动生成ifndef , define , endif

参考:(22条消息) VSCode 自动生成头文件的#ifndef #define #endif_Static H的博客-CSDN博客。

2022-08-22 09:31:58 1120

原创 CAN总线学习

CAN入门学习

2022-06-04 16:17:15 1710 1

原创 汽车电子常用英文单词

汽车电子常用英文

2022-06-04 16:10:56 2213

原创 GCC内嵌汇编相关语法

汇编语言中的'#'_转码的硅工的博客-CSDN博客_汇编#" # " ,代表寻址方式为立即寻址MOV A, #21H意思是:将值21H传递给寄存器A暂存MOV A,21H,寻址方式变为直接寻址, 21H就不是值了,而是一个地址,意思是将 21H这个地址里面的内容给到寄存器A暂存。80x86汇编:操作系统原理:详解汇编语言基础知识(图文代码) - 知乎内联汇编:gnu汇编语言使用内联汇编 扩展asm_我是小x的博客-CSDN博客_asm 扩展assembl.

2022-05-06 16:38:22 509

原创 Operating Systems: Three Easy Pieces__读书摘要

原书链接:Operating Systems: Three Easy Pieces介绍1.学生与老师的对话这一段主要讲学生应该如何学习。听过->忘了看过->记得做过->理解2.介绍操作系统本书是给知道操作系统怎么运行的人阅读的。当程序运行起来的时候,发生了什么?程序跑起来的时候只是做一件非常简单的事情:它执行指令。每秒几百万次的执行,处理器从内存中取指令,解码这条指令,执行这条指令。执行完当前这条指令后,处理器移动到下一条指令,直

2022-05-05 13:51:41 1358 2

原创 linux0.11中的进程相关总结

建议阅读这里列举的参考资料,本文仅用于备忘。参考资料本次的分享是非常浅的,更多内容请查看:具体的请阅读《Linux内核0.11完全注释_V3.0 by 赵炯 (z-lib.org).pdf》以及inter的官方英文手册: 《i386.pdf》要想理解机器怎么工作的,必须要读一遍汇编:《汇编语言(第3版) 》王爽著调汇编可以用vscode提供的插件,具体请参考这3篇文章:https://blog.csdn.net/weixin_45708190/article/details/121134296

2022-04-29 11:43:13 406 1

原创 Linux0.11 实验四 进程运行轨迹跟踪与统计

实验4 进程运行轨迹跟踪与统计pid X time其中:- pid是进程的IDX可以是N,J,R,W和E中的任意一个N 进程新建 ,newJ 进入就绪态 , JR 进入运行态 , runW 进入阻塞态, waitE 退出 ,exittime表示X发生的时间。这个时间不是物理时间,而是系统的滴答时间(tick)仔细阅读sched.c文件本实验主要分析整个的调度流程,主要方法是,当发生状态转换时,进程的state变化时,我们把这个记录记下来。打印函数先看看打印函数:st

2022-04-25 10:35:00 542

原创 linux0.11 sleep_on函数说明

/*这是一个非常复杂的函数:该函数与wake_up配合使用,我们用一个例子来说明这个复杂的问题sleep_on(&inode->i_wait);比如有任务在等待资源inode->i_wait,如果这个资源是NULL,也就是说,没有任何人在使用这个东西,那么就无需等待,如果这个队列里面有东西,那么就存在tmp里面,tmp此时指向原等待队列头,值得注意的是,这个地方,tmp是局部变量,而p是全局的。所有进程共用p , 每个进程都有自己的tmp讲本进程设置为TASK_UNIN

2022-04-24 17:43:55 617

原创 linux0.11_系统调用

系统调用系统调用的过程void sched_init(void){ ... set_system_gate(0x80,&system_call); //注册}system_call: cmpl $nr_system_calls-1,%eax ja bad_sys_call push %ds push %es push %fs pushl %edx pushl %ecx # push %ebx,%ecx,%edx as parameters pushl %eb

2022-04-19 14:47:44 514

原创 两数和&两数积的问题

问题:有两个数A和B,属于正整数集合[2,99],甲知道两数之和,乙知道两数的乘积,甲跟乙说:我肯定你不知道A和B是什么。乙说:你这么说,那我知道A和B是什么了,甲说:那我也知道了。问:A和B分别是什么?解答:# 有两个数A和B,属于正整数集合[2,99],# 甲知道两数之和,乙知道两数的乘积,# 甲跟乙说:我肯定你不知道A和B是什么。# 乙说:你这么说,那我知道A和B是什么了,# 甲说:那我也知道了。问:A和B分别是什么?# 我们先从两数和入手:# 第一轮筛选:# 甲知道2个数的和

2022-04-16 00:11:55 1252

原创 12个乒乓球称重问题

问题:有12个乒乓球,其中有一个次品,不知道轻重,用一台无砝码天平称三次,找出次品并告知轻重,怎么称?解答:先分3组,每组4个,随便拿两组来称第一次:情况1:天平平衡,则在剩下的4个球里,从4个中选3个,再加1个标准球,进行第二次称量:情况1.1 如果平衡,拿标准球跟最后一个球称就可以知道答案情况1.2 如果不平衡,选2个待测球那边的两个球称一下。情况1.2.1 天平如果平衡,则可以知道是没选上的那个球,是劣质品,而且在第二轮称量就知道了其是轻是重情况1.2.2 如果天平

2022-04-16 00:06:51 8704

原创 关于ptpd开源软件研究

目的及环境确认系统为:Ubunto14.04。目的:实现运输载体为Ethernet的p2p对时。使用软件包:GitHub项目ptpd具体安装安装前准备安装libtool:sudo apt-get install libtool另外由于需要用ethernet作为运输载体,所以要安装libpcap-dev:sudo apt-get install libpcap-dev开始安装ptpd开始执行以下命令实现安装:autoreconf -vi./configure --with-p

2022-04-14 23:23:45 1670

原创 scapy基本使用

scapy基本使用官方手册官方介绍文档python官网scapy模块from scapy.all import * //来自scapy.all文件,导入所有函数python交互模式中:ls()=Ether、IP、ICMP、TCP、UDP、ARP 等等,查看可以配置的参数1.构建包:不同层之间用/分隔(常用)Ether = Ether(src=“源mac”,dst=“目的mac”) //以太网层 = 二层IP = IP(src=“源ip”,dst=“目的ip或者URL

2022-04-14 23:19:54 5249

原创 ECMAScript6 __学习笔记

ECMAScript6资料来源6可以转为5.1,babel转码器可以完成。traceur转码器也可以let , constlet的特性如下:let命令生成的变量,只在let所在代码块有作用。for循环的特别之处,循环变量的部分是一个父作用域,循环体内部是一个单独的子作用域。let不能变量提升,let会绑定块作用域,不受外部影响(暂时性死区)不允许重复声明ES6中对块作用域的概念进行了强调,几乎禁止了变量提升,只有在定义了变量之后才能使用。声明函数必须要在大括号中,否则报错const

2022-04-14 23:17:16 242

原创 Javascript_ES5_学习笔记

Javascript基本认识资料来源入门立即调用的函数表达式IIFE = Immediately-Invoked Function Expression可避免污染全局变量。数据类型数组中空位(hole)length会算上空位。foreach,for…in, Object.keys方法遍历时会跳过空位。运算符指数 运算符是**,是右结合的运算符。2**4= 16 amazing2** 3** 2 =512 === 2** (3**2 )对象object的转化机制除

2022-04-14 23:16:19 1056

原创 C Primer Plus __ 读书笔记

C Primer Plus数据类型基本类型:intcharfloatdouble类型修饰符:longshortunsignedsigned其他:void_Bool_Complex 复数_Imaginary 虚数在计算机中存储这些数据类型之分两种:整数类型(integer),浮点数类型(floating-point)整数就是由一个二进制数,浮点数分为小数部分和指数部分,分别存储。位,字节,字位:bit,一个比特,存0 or 1字节:byte,一个字节,存8

2022-04-14 23:13:18 216

原创 古今中外数学思想__读书笔记

古今中外数学思想古巴比伦60进制,度数,圆的360°,会解二次方程分数的近似计算古埃及圆锥,圆柱计算公式用数学的办法去发工资,计算工作量,将数学应用到生活的方方面面分数的近似计算。古希腊古巴比伦,古埃及 == 粗陋的木匠希腊 == 大建筑师有比较多学派,立体几何,简单数论,平面几何,圆锥曲线将数学用于很多领域,包括,航海,建筑,机械希腊人的抽象能力很强,把数学与看到的事情分开。用几何意义去解决了无理数问题。演绎推理法,以公理为基础,进行推理。欧几里得《几何原本》,阿

2022-04-14 23:11:57 1013

原创 《HTTP权威指南》__读书笔记

http概述《HTTP权威指南》读书笔记。资源MIME:MIME type(Multipurpose Internet Mail Extension 多用途因特网邮件扩展)http会给web传输对象打上数据格式标签,对应的就是response headers的content-type的内容。浏览器会根据该类型调用不同的处理单元:显示图片,解析并格式化HTML文件,通过计算机声卡播放音频文件,或者运行外部插件软件来处理特殊格式化的数据。MIME类型是一种文本标记:主要对象类型/子类型,如:tex

2022-04-14 23:09:35 261

原创 C语言字符串操作

C语言字符串操作程序占用的内存分区形式一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未

2022-04-14 23:08:06 2881

原创 关于学习的看法

学习是人类的天性。​ 每个刚出生的小朋友都喜欢“搞破坏”,喜欢咬东西,扔东西,会盯着一个东西看等等。其实这就是小朋友学习去适应他所未知世界的一种方法。学习其实是我们人类的天性。学习会让人痛苦?​ 那为什么很多人说学习很痛苦?因为他们在学习这个项目上,输了。不是学习痛苦,是输很痛苦。而赢的人占少数,他们的声音没有被听到,就会让大家觉得学习很痛苦。​ 常常感到自己不如别人,这种挫败感,是一定会让人感到无比痛苦的。这样的学习,肯定是会让人想要逃离的,只有极少数的赢家会觉得学习有意思。真正的学习是让人快乐

2022-04-14 22:58:35 572

原创 Android通过交叉编译链编译出可执行文件的方法

android交叉编译/share/px30_from_weiqin/miro/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androidkernel-gcc \test_word_count.c \--static -o test_ndk \--sysroot=/share/px30_from_weiqin/miro/prebuilts/ndk/r11/platforms/android-21/ar

2022-04-02 14:02:55 1635

原创 《汇编语言(第3版) 》王爽著__读书摘要

汇编研究本文目的,总结汇编的使用方法,达到能无障碍阅读linux ,boot文件夹下的汇编代码,以及一些常用的C语言内联汇编。使用书籍《汇编语言(第3版) 》王爽著第一章 基础知识1.1 机器语言机器只认识电平脉冲,高低电平,也就是只有0->1 , 1 -> 0 , 0 , 1很难查错,机器语言1.2 汇编语言的产生汇编指令是机器指令便于记忆的书写格式。1.3 汇编语言的组成3类指令: 汇编指令: 机器码的助记符,有对应的机器码 伪指令

2022-04-02 13:59:43 2160

原创 08.linux5.0x驱动demo

https://github.com/JewinH/Linux_driver_learning

2022-01-22 18:47:08 272

原创 elf可执行文件的生成及加载

The compiler, assembler, linker, loader and process address space tutorial - hacking the process of building programs using C language: notes and illustrations预编译,编译,汇编,链接预编译:处理 #include , #ifdef ,#ifndef ,#define 等语句,加载.h文件,条件编译,宏定义 编译:拿到预编译的输出和源码,

2022-01-05 12:16:27 3752 1

原创 大小端问题

参考:CPU的大端小端 endian - 孙登波 - 博客园常见的操作系统是小端,通讯协议是大端。常见CPU的字节序:大端模式:PowerPC、IBM、Sun小端模式:x86、DECARM既可以工作在大端模式,也可以工作在小端模式像以前做交换机是用PowerPC的,是不需要转序的,然后第二代板子想换到arm,切刚好arm的小端的,所以需要转序。用C程序去验证的办法:#include <stdio.h>int main (){ unsigned

2021-12-25 22:45:03 341

原创 github密码无法正常登录

Settings/Developer settings/Personal access tokens生成一个token当作密码登录即可。

2021-12-18 22:33:18 521

原创 08.如何处理编译器的警告

在编写代码时,我们常常为了方便去忽略编译器告诉我们的代码存在的警告。但其实编译器是非常有用的,如果我们使用得当,将会省去大量的debug时间。在gcc编译时,加上后缀 -Werror 把所有的警告都视作为错误。当我们遇到一些我们真的需要忽略编译器告警时,将这种忽略维持在局部。我们来看一个例子:-Werror=unused-resultgcc -O2 -Wall -Werror -o gen-expr gen-expr.cgen-expr.c: In function ‘m.

2021-12-16 09:42:14 1806

原创 05.多线程编程介绍

简单例子1:CPU不密集任务例子如果不使用线程,我们编写下面的测试程序:#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <time.h>​​void myfunc(void *arg){ sleep(5); printf("%s\n", (char *) arg); return ;}​int main(int argc, c...

2021-12-16 09:40:59 356 1

原创 04.内核源码解析5.x

GitHub - sysprog21/lkmpg: The Linux Kernel Module Programming Guide (updated for 5.x kernels)

2021-12-16 09:37:51 97

原创 03.GDB调试Linux

GDB调试Linux本文主要根据文档:Debugging kernel and modules via gdb — The Linux Kernel documentation下载内核代码,对Linux内核代码进行单步调试。Linux内核下载:The Linux Kernel Archives搭建开发环境:???? Debugging the Linux Kernel with Qemu and GDB内核代码下载与编译参考文章:内核代码下载并编译如果你使用的是Ubuntu2

2021-12-16 09:36:37 147

原创 02.AOSP调试记录

参考文章: 官方文档:https://source.android.com/source/downloading#installing-repo 下载:AOSP 镜像使用帮助 — USTC Mirror Help 文档 参考文章:How To Download And Build AOSP Android 11 Custom ROM From Scratch | LionGuest Studios ...

2021-12-16 09:34:51 1675

原创 01.abstract_machine安装与调试

主要文档:Installing GNU/Linux · GitBook关于abstract machine :Abstract Machine -- from Wolfram MathWorld硬件指令集手册:在开始愉快的PA之旅之前 · GitBook进入NEMU 方法cd nemumake# make cleanmake ISA=mips32 run # 跑x86需要调试。​make ISA=mips32 gdb # 进入调试页面GDB调试NEMUmak..

2021-12-16 09:33:24 480

原创 03.Android客户端-服务器交互应用

参考文章Client-Server Programming in Android. Send Message to the Client and Back. – MOBILE PROGRAMMING该文章提供的方法可以完成2个应用程序之间的socket通讯。服务器端的程序:https://ce4.midea.com:8078/huangjy138/Android_base_test/tree/master/client_server_demo客户端的程序:https://ce4.midea.

2021-12-16 09:30:35 85

原创 05.Android操作系统裁剪

此部分为Android项目中最困难与最复杂的部分,原则上,我们不掌握,由供应商提供底层能力即可,但为了能更好的掌握产品的各个技术点,我们还是要研究一下,对系统编译有一定的理解,这样更好的帮助我们理解Android系统。...

2021-12-16 09:30:10 140

原创 01.android 系统开发介绍

介绍ppt:https://www.slideshare.net/EmertxeSlides/embedded-android-system-development-part-i?next_slideshow=3https://www.slideshare.net/EmertxeSlides/embedded-android-system-development-part-ii-linux-device-drivershttps://www.slideshare.net/EmertxeSlide

2021-12-10 10:59:03 357

原创 Android系统开发

总体目标:使团队具备开发Android大屏项目:嵌入式软件目标:掌握系统源码的编译方法 掌握在应用层调用底层驱动的方法,以服务器的形式发布给其他应用使用 提供调用驱动服务器应用程序接口的demo程序 根据厂家提供的开机启动程序修改办法,能任意修改板子开机启动的应用及其启动顺序 提供性能优化服务,当用java实现某些功能出现性能瓶颈时,负责把相关代码改写成C/C++Android项目能力沉淀总结(嵌入式软件):Android系统的整体理解:01.android 系统开发介绍 系

2021-12-10 10:57:19 3055

原创 00.关于Android开发的任务分工

角色 输出 工作流 Android板供应商 原理图,规格书等硬件设计资料 确保硬件的稳定性,可靠性 系统原码 编译方法(包括编译调试镜像,发布镜像) 烧录镜像的方法(包括USB烧录,以及至少一种刷成砖之后的系统恢复方法) 外设接口驱动需提前在linux系统源码中配置好 所有外设对应的文件号应提供一份对应表格 对于新增外设接口,需要配合改板 开机启动程序的修改方法 ...

2021-12-10 10:56:45 2361

jsp后台所用到的jar文件(包含mysql和sqlserver的包)

已jsp为后台,读取mysql服务器内容,把返回内容加工成json格式,向前端发送json数据。

2018-02-28

空空如也

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

TA关注的人

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