- 博客(19)
- 收藏
- 关注
原创 内存管理(2)
当内核初始化完成后,系统中的内存分配和释放是由buddy系统、slab分配器来管理的。但是在buddy系统、slab分配器可用之前。内存的分配和释放是由memblock分配器来管理物理内存的使用情况的,memblock管理的内存为物理地址。
2025-06-29 13:43:51
806
原创 爬虫简单案例
本文介绍了使用Python urllib库爬取有道翻译网站的实践方法。主要内容包括:1)通过urlopen()函数发送HTTP请求并解析响应,展示了状态码、编码方式和网页内容的获取;2)urllib库的四大模块功能说明;3)详细讲解了Request对象的创建和请求头设置方法,以应对反爬机制;4)异常处理机制,区分HTTPError和URLError的不同捕获方式;5)parse模块的URL解析功能,包括拆分、合并和编码转换操作。案例提供了完整的代码示例,涵盖从基础请求到高级应用的完整流程。
2025-06-25 21:09:09
1188
原创 爬虫基础原理
HTTP请求与响应原理:浏览器通过URL发送HTTP请求,服务器处理后返回响应。请求包含URL、方法(GET/POST)、请求头和请求体;响应包括状态码(如200/404)、响应头和响应体。开发者工具可查看详细交互过程,GET用于获取资源,POST用于提交数据。状态码反映处理结果,响应头包含服务器信息,响应体为实际内容。该机制构成了网页浏览的基础。
2025-06-16 22:28:47
2070
转载 rk平台创建安卓分区
分区挂在需要有文件系统才能挂在,所以在新建分区后需要烧写一个带ext4文件系统的img到新建分区中。如何创建ext4的img可以参考文档:制作f2fs和ext4文件系统的img文件。如果要添加2个分区则是:BOARD_WITH_SPECIAL_PARTITIONS := test:16M,test1:16M。在RebuildParameter.mk中添加BOARD_WITH_SPECIAL_PARTITIONS。在产品的BoardConfig.mk中定义:(以rk3566_r产品为例),分区大小为16M。
2025-06-14 11:46:03
108
原创 网络爬虫简介
摘要:URL是互联网资源的标准地址标识。网络爬虫分为四类:通用型(全网采集)、聚焦型(主题定向)、增量式(更新追踪)和深层网络(表单交互)。爬虫工作流程包括网页抓取(使用urllib/requests等库)、解析(正则/BeautifulSoup/lxml)和数据存储(文件/数据库)。需遵守robots协议以尊重网站爬取意愿。聚焦爬虫需额外进行URL过滤和优先级排序,深层爬虫则需处理表单提交内容。
2025-06-14 11:42:51
763
原创 自用的vimrc
通过禁用Vi兼容模式、启用语法高亮和UTF-8编码改善基础功能;设置行号、主题等提升界面体验;配置智能缩进与搜索优化编辑效率;包含文件处理和性能调优设置。
2025-05-26 15:33:01
147
原创 andriod 12 user版本打开debug uart
endif"1");;*)= trueclass coreconsoleuser shell。
2023-11-02 10:26:03
585
原创 基于msm8475更换开机logo
进入BOOT.MXF.2.0/boot_images/boot/QcomPkg/Library/MDPLib/DisplayUtils.c中找到两个关键代码。进入BOOT.MXF.2.0/boot_images/boot/QcomPkg/Logo/Common/将logo1.bmp替换成我们需要更改的logo。去调整我们的logo在屏幕中的位置就行了。将我们的logo替换掉原有的logo。
2023-10-31 18:21:56
96
1
原创 基于rk3588s andriod将二进制编译到system/bin
3.打开device/rockchip/rk3588/下的device.mk文件。在PRODUCT_COPY_FILES += \下增加自己的二进制文件以及克隆的位置。1.进入device/rockchip/rk3588/目录下,创建一个目录来存在你的二进制文件,例如app/4.编译刷机,便可以在设备的system/bin中找到你的二进制文件。2.进入app目录中,将自己的二进制文件全部拷贝到这个目录。
2023-10-24 10:06:57
389
原创 基于rk3588s andriod在根目录下创建软连接
2.首先进入目录 system/core/rootdir,打开。1.本文创建软连接使用的是ln -s。
2023-10-24 10:01:25
470
原创 基于android 12上集成docker
3.运行该脚本,可以看到我们缺少的config(那些missing了的)。缺少的config需要我们自己去配置,可以使用menuconfig;也可以直接操作.config文件。1.拉取你的内核源码,我这边使用的是rk3588上的android 12。2.使用下面的脚本来判断docker缺少的内核。5.操作网上的方法进行安装docker就可以了。说明:zfs的不用管。
2023-10-18 16:14:52
1447
5
原创 struct i2c_msg对16位i2c寄存器进行读写
在i2c-msg结构体中,addr用来接收从机地址,flags表示是写(读为1,写为0),buf表示我们待会将要传输的地址以及数据,len表示要传输三个字节(本案例中,reg为16位,data为8位)。需要注意的是,wirte函数中,i2c-transfer函数只传输了一次,而read函数中,i2c-transfer函数传输了两次。该函数通过I2C总线适配器将一系列消息发送到I2C设备,或者从I2C设备接收一系列消息。2.在定义完成i2c_msg结构体后,需要通过i2c_transfer进行传输。
2023-10-07 16:49:43
2724
1
原创 msm8475 由于mcu与soc并未做好协作,引发的dump
针对这个问题,我们可以在加载资源时,将中断disable,资源加载完成后再enable。没有做mcu和soc的状态同步机制,mcu每隔1s 会发数据给soc,所以 reboot过程中 会概率出现 dump的问题。在本次项目中,hsuart3是用作与mcu进行通讯的uart。从dump中可以看到,是由于hsuart3被唤醒,导致出现空指针,进入dump。在本次项目压测的时候,发现在开机的时候进入了dump。在资源加载完成后,enable 中断。在加载资源时,disable掉中断。在remove,注销中断。
2023-09-07 15:05:18
73
1
原创 安卓创建设备节点
/ 创建设备类 my_class = class_create(THIS_MODULE, "my_class");1.使用device_create_file创建。2.使用class_create创建。// 在此处实现读取属性的逻辑。// 自定义设备属性。
2023-08-30 11:00:46
279
1
原创 安卓单独编译一个.c文件为可执行文件
在代码中自己编写一个Android.bp 文件,将要编译生成的.c文件跟Android.bp 同级目录下。使用mm uarttest编译。
2023-08-29 16:59:25
493
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅