- 博客(24)
- 收藏
- 关注
原创 安卓环境脚本
sudo apt-get install uuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzop git-core curl u-boot-tools mtd-utils android-tools-fsutils openjdk-8-jdk device-tree-compiler \gdisk m4 libz-dev git gnupg flex bison gperf libsdl1.2-dev libesd-java libwxg
2025-03-18 14:33:25
234
原创 source buile/envsetup.sh携带命令
在运行 source build/envsetup.sh 之后,Android AOSP 提供了一系列额外的命令,方便开发和编译。如果需要添加自定义命令,可以修改 build/envsetup.sh 文件或在 .bashrc 文件中定义。这些命令可以通过 help 命令查看详细说明,或者直接在 AOSP 环境中试用以了解其功能和参数。手动选择目标设备、编译平台和编译类型,类似 lunch,但更精细化。Android 调试桥的命令,直接可用,无需额外路径配置。
2024-12-13 09:05:11
337
转载 镁光DDR命名规则
实例:一条Micron DDR内存条,采用16片编号为MT46V32M4-75的颗粒制造。我们随便找一个Micron的DDR3或者SPI NAND FLASH,会发现丝印不是具体型号,真他妈奇怪!16M8——内存颗粒容量为128Mbits,计算方法是:16M(地址)×8位数据宽度。第二行是FBGA Code,通过这个可以在上述网址搜到产品的完整型号!-75——内存工作速率,-75即133MHz;48——内存的类型。芯片的确为MT41K128M16JT-125:K,正啊!MT——Micron的厂商名称。
2024-12-10 18:27:49
1175
原创 camera native framework(二)camera.rc
class:对不同service进行分组,从而实现不同的启动顺序,early_hal类最先启动。user的定义在这个文件中,最后的用户名就是把aid_去掉,大写变为小写。pathname:可执行文件位置。
2024-09-16 17:20:04
191
原创 audio耳麦拔插显示图标逻辑
安卓系统当插入耳麦时,会进行输出通路或输出设备的切换,一些设备切换是在kernel驱动中完成的,对于hal层不可见,而一些设备进行切换时将选择权交给android audio framework,只是上报设备可用的事件,本文讨论这种设备。
2024-09-12 11:19:51
572
原创 拷贝别人编译好的的aosp后自己编译报错FAIL: TestFs_ListDirsRecursiveDontFollowSymlinks
使用cp时:可以使用 -P 或 --no-dereference 选项。cp 的选项说明-P 或 --no-dereference:这两个选项告诉 cp 在复制符号链接时,不要跟随符号链接指向的目标,而是将符号链接本身复制。在使用scp -r拷贝别人的sdk后编译无法通过pathtools测试,原因是拷贝时把链接也当成了真实的文件或者目录,尤其是拷贝build目录时会残留之前别人编译的文件夹。使用rsync代替scp,或者先压缩再拷贝。-a 表示归档模式,递归复制,并保持符号链接、权限、时间戳等。
2024-08-30 19:34:29
331
原创 repo sync报错BrokenPipeError: [Errno 32] Broken pipe
【代码】repo sync报错BrokenPipeError: [Errno 32] Broken pipe。
2024-08-28 08:44:56
146
原创 S32V234平台开发(一)快速使用
模式由 J40(BOOT _ Mode [0])和 J42(BOOT _ Mode [1])控制的 BOOT _ MODE0/1信号选择,跳线并在复位时读取。接上usb串口线到电脑,按下回车可以看到提示输入用户名和密码,但是找遍了官方文档,也没有提到默认的用户名和密码是什么,这种情况可以使用以下方法。默认通信速率为115200波特,8位数据,1个停止位,没有奇偶校验,有串口数据首发时usb串口旁边的红色led会闪烁。从 SD 启动: J48 = 1 & 2,J49 = 1 & 2,SW8 = 0x80。
2024-07-09 17:15:01
637
原创 记录一次jlink连不上cpu的情况
keil上使用jlink调试仿真1.下载时提示找不到jlink,进入settings,发现识别不到jlink的SN号,那说明Jlink驱动有问题,或者usb口有问题,重新安装驱动,如果还没有SN号,进入设备管理器,看有没有识别Jlink,没有则是usb口坏了jlink驱动安装网址2.识别到jlink之后点击下载按钮,提示Cpu is not halted,这应该是和cpu连接线路不对,确定和cpu连接的线路类型(swd或者jtag),我的是swd,一共五根线。
2024-06-05 16:26:45
1729
原创 android切换输出通道总结
3.之后调用AudioPolicyManager::checkOutputForAttributes,这个函数会对所有的属性重新寻找该属性的最优设备,由于上一步更新了可用的device,就会找到最优的device为耳机,之后再找到这个设备对应的Output,并和旧的Output对比,如果不一样就会设置这个策略的流为无效,应用层向无效的流写数据就会重新创建track。4.上面是需要迁移Output的情况,不需要迁移output,只需切换Output内的device则调用。
2024-05-22 15:26:22
300
原创 到处linux系统镜像到.img文件
综合来说,这些命令组合的作用是解压缩一个压缩的镜像文件 rootfs.img.gz,然后检查并修复该文件系统中的错误,并将文件系统调整为最小可能的大小。这个命令解压缩 rootfs.img.gz 文件,将其解压为 rootfs.img 文件。这个命令用于调整 rootfs.img 文件系统的大小,将其最小化到最小可能的大小。-M 选项告诉 resize2fs 命令将文件系统调整为最小的可能大小。这个命令用于检查并修复 rootfs.img 文件系统中的错误。-d 选项告诉 gzip 命令解压缩文件。
2024-04-14 10:29:25
717
原创 linux上挂载.img文件
这会将.img文件的每个分区映射到一个循环设备上,并自动识别分区。-f 参数告诉 losetup 在可用的循环设备中选择第一个可用的设备,而 -P 参数告诉 losetup 尝试自动分区识别。现在,你已经成功地挂载了.img文件中的三个分区。记得在完成操作后,使用 umount 命令卸载分区,并使用 losetup -d 命令解除循环设备的映射。之后使用lsblk命令根据大小找到.img对应的loop设备,如loop31。这会列出.img文件中的所有分区以及它们的偏移量。
2024-03-14 11:42:24
2394
1
原创 如何找到linux中串口对应哪个tty设备
这将会显示包含串口设备信息的系统日志。串口设备通常会被列出,类似于ttyS0、ttyS1、ttyS2等。你可以根据这些信息来确定你的串口设备是ttys几。要查看串口设备的名称,你可以使用dmesg命令来查看系统启动时的日志信息。串口设备通常在启动时会被内核检测到并分配一个名为ttyS*的设备名称。
2024-03-13 16:57:17
2955
原创 linux screen/minicom录制串口原始数据
在 screen 会话中按下 Ctrl + A,然后按下 Shift + : 进入命令模式,输入 logfile flush,然后按回车。现在,您应该在当前工作目录下找到 “log.cap” 文件,其中包含了从串口读取的二进制数据。您可以使用适当的工具(例如 Wireshark)来分析和查看这个二进制日志文件。通常,串口设备的名称类似于 /dev/ttyUSB0 或 /dev/ttyS0。查看:hexdump -v -e ‘/1 "%02X "’ your_file。
2024-02-27 15:45:51
930
1
原创 linux热插拔udev应用
这个程序使用 udev 监听 uevent 事件,并在 USB 设备插入或拔出时打印相关信息。请注意,你需要在编译时链接 libudev 库,可以使用 -ludev 标志。在运行此程序时,它将持续监听 USB 事件,当有 USB 设备插入或拔出时,将输出相应的信息。
2024-02-20 18:05:23
537
原创 qemu安装,busybox最简根文件系统制作,ubuntu上模拟arm64运行linux
cp /home/yhai/store/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib/ . -a //拷贝编译工具链里的库。//注:翻墙下载,用在板子上直接下载太慢了 wget https://download.qemu.org/qemu-6.2.0-rc2.tar.xz。cp -rf ../examples/bootfloppy/etc/* etc/ 拷贝最简示例配置,*/
2024-02-11 20:29:15
676
1
原创 ubuntu更新gcc/g++
sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get install gcc-11sudo apt-get install g+=-11sudo rm /usr/bin/g++ /usr/bin/gccsudo ln -s gcc-11 gccsudo ln -s g++11 g++
2024-01-30 19:40:32
493
1
原创 boost的json解析库使用
此处打印"192.168.0.220"和true, get函数如果节点不存在会抛异常,如果传入默认值" ",节点不存在不会抛异常。与not_found方法比较判断是否有名为unicast的子节点。
2023-11-22 15:54:34
686
原创 GIT常用操作
初始化仓库:创建一个新的Git仓库或将现有项目转换为Git仓库。git init克隆仓库:从现有仓库复制项目。添加文件:将文件添加到暂存区,以准备将其纳入下一次提交。git add提交更改:将暂存区的更改提交到仓库,并附上提交信息。查看状态:查看工作区和暂存区的状态,了解文件的更改情况。git status查看提交历史:查看项目的提交历史记录。git log创建分支:创建一个新的分支,用于开发新功能或修复bug。切换分支:切换到不同的分支。
2023-08-31 08:57:44
46
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人