wang 恒
吾日三省吾身,遵恒律谦温乎!
该补的我都会补回来,至死方休!
恐惧来源于无知
展开
-
【ARM/ARM64 MYSQL】手把手教你交叉编译MySQL
ps: 可以几点直接跳转至MySQL下载页面,跳过后续内容至下一章节我这里直接使用命令下载5.7.27版本源码,如下:ncurses源码下载点击进入ncurses源码下载我这里直接使用命令下载6.1版本源码,如下:编译依赖库ncurses交叉编译解压ncursesncurses采用configure编译,依次执行如下命令:编译安装完成后确认所需依赖库是否已经存在,如下:对于arm/arm64的MySQL的交叉编译,存在一些bug,需要手动修改提前规避一些问题,修原创 2022-10-24 11:22:50 · 1082 阅读 · 1 评论 -
Android 内存问题与性能测试指标
1.前言做Android开发的可能都会遇到一个问题,那就是内存泄漏(其实内存泄漏也不仅仅做Android开发,做开发基本都会遇到,最常见的就是底层开发了,像C,C++这种)。笔者这段时间被公司的一个内存问题搞得很是头大了,这里在分析内存问题的时候找到的一些资料做下记录。。2.正文这里描述下笔者遇到的现象:就是开机后,系统放着跑一个APP,然后过了一段时间,这里的可用内存就变为0了正文部分皆...原创 2019-06-13 13:45:58 · 1142 阅读 · 0 评论 -
Android 动态可设置下拉状态栏和虚拟导航栏
通常情况下,android系统都会自带状态栏下拉控制和虚拟导航栏,这样可以方便使用操作,但在某些特殊使用情况下,我们需要去掉或者禁止这两个功能模块,例如基于android系统的工控机,广告机等,废话不多说,进入主题...本文基于qcom msm8909 android5.1,msm8953 android7.1两个平台。修改的地方位于frameworks基本知识点:大家都知道and...原创 2019-01-21 16:43:03 · 2650 阅读 · 1 评论 -
Android5.1 Ethernet添加ip配置(Static DHCP)
博主从业经验不多,本次调试Ethernet参考了许多资料,走了很多弯路,现在也还有点问题,先记录下调试心得,文中提到的未解决的问题或写的错误得地方,还望各位看官大佬不吝赐教。参考:https://blog.csdn.net/Purple7826/article/details/80608172https://blog.csdn.net/qq_34705828/article/detai...原创 2019-01-14 09:48:57 · 2008 阅读 · 0 评论 -
Android7.1 Setting模块添加一级菜单跳转第三方应用
本文基于qcom msm8953 android7.1平台。前提准备:准备所需修改文件packages/apps/Settings/src/com/android/settings/Settings.javapackages/apps/Settings/src/com/android/settings/SettingsActivity.javapackages/apps/...原创 2018-12-07 19:13:41 · 3338 阅读 · 3 评论 -
msm8909 触摸屏驱动GT9xx加载流程分析与移植
本文移植流程基于qcom msm8909平台进行,因为平台里android hal 和 frameworks 对TP的支持已经有了,我做的就是将厂家提供的驱动移植进内核并配置对应的dts文件即可一般驱动移植厂家会提供驱动源码和移植指导书等资料首先要找到你使用的平台的android内核配置文件是使用的哪一个,一般位于kernel/arch/平台架构/configs/平台文件,如msm8909...原创 2018-11-15 17:08:57 · 4522 阅读 · 0 评论 -
【Codec ES8388/ES8323】基于rk3399的音频芯片调试笔记
文章目录1.芯片信息简介1.1 芯片总体描述1.2 芯片框图1.3 Codec和CPU之间连接2.实际问题调试解决2.1 No MCLK configured, call set_sysclk() on init2.2 播放2通道音频文件右声道无声2.3 LINEIN录音2通道音频文件左右声道皆无声2.4 LINEIN录音2通道音频文件右声道无声2.5 LINEIN录音杂音爆耳2.6 LINEIN录音无人声2.7 LINEIN录音人声声音很小(类似于消人声的伴奏)2.8 播放音频爆音2.9 注意事项平台相原创 2022-04-24 16:05:31 · 4427 阅读 · 1 评论 -
【RK3399 Ubuntu】基于rk3399的lxde的lubuntu桌面移植适配记录之第四步:Lubuntu桌面的rk平台硬件适配
文章目录1.前言2.平台适配2.1 显示服务的适配2.1.2 GPU2.1.3 RGA2.1.4 drm-cursor2.1.5 xserver2.1.6 如何验证是否适配成功2.2 编码服务的适配2.2.1 mpp适配2.2.2 多媒体软件适配2.2.3 gstreamer适配2.3 camera服务的适配2.4 npu服务的适配2.5 适配注意点和适配步骤2.5.1 源码适配注意点2.5.2 源码需要安装对应平台的补丁2.5.3 具体适配步骤3.适配问题记录3.1 glmark2-es-x11无法安装3原创 2022-03-24 10:23:20 · 2213 阅读 · 2 评论 -
【RK3399 Ubuntu】基于rk3399的lxde的lubuntu桌面移植适配记录之第三步:Ubuntu根文件系统的桌面化分析和选用
文章目录1.Ubuntu桌面系统介绍2.基于arm架构的可用Ubuntu桌面对比分析2.1 懒人式安装2.1.1 kubuntu-desktop [KDE]2.1.2 ubuntu-desktop [GNOME]2.1.3 xubuntu-desktop [XFCE]2.2 精简式安装2.2.1 xubuntu-core [XFCE]2.2.1 lxde-core [LXDE]2.3 对比一览3.选用安装1.Ubuntu桌面系统介绍kubuntu:KDE 桌面版 Ubuntulubuntu:LXDE原创 2022-03-22 09:29:31 · 918 阅读 · 5 评论 -
【RK3399 Ubuntu】基于rk3399的lxde的lubuntu桌面移植适配记录之第二步:最基本Ubuntu根文件系统的相关常用工具完善
文章目录1.使能系统网络管理服务1.1 安装驱动modules管理工具1.2 使能网络服务2.终端自动补全命令功能3.安装ssh服务4.安装系统信息查看工具5.安装resize工具6.安装lrzsz工具7.使能rc.local服务7.1 修改服务Install块7.2 使能rc.local.service服务7.3 添加执行脚本且赋予执行权限续接上文,本文主要完善前面已经制作好的rootfs1.使能系统网络管理服务1.1 安装驱动modules管理工具apt-get install kmod1.原创 2022-03-19 09:36:36 · 950 阅读 · 1 评论 -
【RK3399 Ubuntu】基于rk3399的lxde的lubuntu桌面移植适配记录之第一步:最基本Ubuntu根文件系统移植
文章目录1.下载官方基础包2. 创建工作目录3. 解压官方基础包4. 安装 qemu5. 定制根文件系统5.1 准备模拟环境网络5.2 准备模拟环境5.3 切换根目录5.4 更新apt5.5 安装必要的软件5.6 使能终端登录5.7 新增用户及修改root密码5.8 删除apt缓存以压缩rootfs的最终大小6. 退出模拟环境7.制作根文件系统8.烧录验证效果9.总结1.下载官方基础包ubuntu18.04.5基础包下载wget http://cdimage.ubuntu.com/ubuntu-bas原创 2022-03-17 16:34:16 · 1393 阅读 · 4 评论 -
【LOGO动态替换】记录一次关于LOGO动态替换引发的uboot代码分析及其实现
文章目录1.前言2.实现2.1 新增logo分区2.2 制作logo分区镜像2.2.1 查看logo.bmp和logo_kernel.bmp的文件大小。2.2.2 按规则将bmp写入logo.img3.分析3.1 uboot的启动分析3.2 uboot bmp load 显示部分3.2.1 rockchip_show_logo3.2.2 load_bmp_logo3.2.3 load_bmp_logo3.3 uboot bmp read部分3.3.1 read_logo_bmps3.3.1 read_bmp原创 2022-01-20 10:58:45 · 798 阅读 · 0 评论 -
【Uboot】linux uboot使用全局宏控制debug信息输出
文章目录1.新增全局调试宏--**MY_DEBUG**2.对应的代码处进行控制3.控制是否显示,配置CONFIG_MY_DEBUG在调试uboot的时候,需要控制自己的debug信息是否输出,可以使用如下方式:1.新增全局调试宏–MY_DEBUG找到文件u-boot/arch/arm/mach-xxx/Kconfig,这里mach-xxx为具体的平台,这里使用的rockchip,则路径为u-boot/arch/arm/mach-rockchip/Kconfig,添加如下内容://vi u-boot/原创 2022-01-18 11:59:46 · 1370 阅读 · 0 评论 -
【Thermal Fan】基于RK3399 kernel thermal子系统fan风扇温控设备的增加使用
文章目录1.前言2.实现2.1 驱动注册2.2 抽线数据结构定义2.3 驱动thermal_cooling_device_ops操作函数实现2.4 重点核心函数__set_pwm2.5 风扇温控运转机制2.4 dts设备树配置3.完整驱动代码下载1.前言本文只叙述如何将一个用pwm驱动的风扇作为一个温控设备嵌入进kernel thermal子系统运作,不涉及具体分析。具体原理框架分析请自行查找相关资料或阅读本人所著的文章。2.实现2.1 驱动注册static int pwm_fan_probe(s原创 2022-01-13 14:15:00 · 1102 阅读 · 0 评论 -
【IP1001C】基于RK3399的IP1001C千兆PHY调试
文章目录1.前要知识1.1 rtl8821和IP1001C介绍1.2 光口和电口简介1.3 PHY的时钟供给方式2.基于rk3399平台的由RTL8821到IP1001C千兆PHY的切换调试2.1 设置125M时钟的来源2.2 关于IP1001C驱动的时候需要注意点3.结语前段时间芯片短缺,rtl8211芯片货源难求,用IP1001C替换RTL8821,途中遇到些问题,这里简单记录下,供大家参考。1.前要知识1.1 rtl8821和IP1001C介绍首先上下rtl8821的datasheet概览,如原创 2022-01-01 13:22:21 · 1454 阅读 · 0 评论 -
【Docker RK3399】基于rk3399 Linux之Debian10上的docker安装验证
文章目录1.相关资料2.部署docker环境2.1 kernel 支持2.2 软件安装支持2.2.1 使用apt仓库安装2.2.2 安装指定版本2.2.3 检查docker状态3.测试4.总结1.相关资料1.1 docker下载地址1.2 docker 官网文档1.3 第三方学习资料2.部署docker环境2.1 kernel 支持# General setupCONFIG_POSIX_MQUEUE=y# RCU SubsystemCONFIG_CGROUP_PIDS=yCONFIG原创 2021-12-17 16:31:51 · 2070 阅读 · 0 评论 -
【centos rootfs】记录一次基于arm64(aarch64) Centos7.9.2009文件系统移植过程
文章目录rootfs获取官方工具资料链接:The CentOS Project [CentOS官网]centos-linux7/8下载入口centos-linux7/8 aarch64 所有下载入口清华大学镜像站centos-linux7 aarch64下载地址原创 2021-10-24 14:46:28 · 1428 阅读 · 0 评论 -
【MAC 地址】记录一次Linux PX30 mac地址(随机)唯一性的rk bug问题
文章目录1.问题2.分析2.1 uboot etheraddr管理机制2.1.1 rockchip_set_ethaddr2.1.2 net_random_ethaddr2.2 kernel etheraddr管理机制2.2.1 rk_gmac_probe2.2.2 stmmac_probe_config_dt2.2.3 rk_get_eth_addr2.2.4 stmmac_dvr_probe->stmmac_check_ether_addr2.2.5 etheraddr 随机mac生成机制2.2.原创 2021-10-13 11:32:47 · 323 阅读 · 0 评论 -
【ubuntu18.04 】记录一次Ubuntu根文件系统移植使用GNOME桌面环境的相关
系统:Linux ubuntu18.04内核:kernel 4.4.194平台:rockchip rk3399文章目录1.前言2.基本操作流程2.1 获取ubuntu-base包2.2 创建根文件系统的host目录,并将base包解压至此处。2.3 初始化相关环境(模拟器和网络环境)2.4 在host环境中布置相关需要环境2.5 创建根文件系统并创建挂载点3.问题记录1.前言最近移植了ubuntu18.04至rk3399上正常运行,现记录下来供以后参考。2.基本操作流程2.1 获取ubuntu原创 2021-09-26 09:17:32 · 575 阅读 · 0 评论 -
【RK3399 GMAC】Linux Debian9 gmac 主控输出clk ,即output模式
文章目录1.需求2.实现2.1 现象观察2.2 用PLL分频提供TXC时钟,即OUTPUT(主控cpu提供125M工作时钟)2.2.1 修改配置gmac dts2.2.2 修改gmac的父时钟2.2.3 output模式配置正常工作时钟显示3.附加知识3.1 关于rk3399的cru(时钟)配置3.2 input模式配置3.3 相关错误的时钟配置结果显示系统:Linux Debian10内核:kernel 4.4.197平台:rockchip rk33991.需求因为硬件准备改版,现在使用的RTL原创 2021-09-22 09:21:17 · 1027 阅读 · 0 评论 -
【MCU/UCOS】记录一次STM32F103C8T6到GD32F103C8T6的调试移植记录(ADC,I2C,DELAY)
文章目录1.问题集合2.移植调试过程如下:2.1 解决问题一:app启动宕机问题2.2 解决问题二:ADC读取为0异常问题2.3 解决问题三:GPIO模拟I2C使用eeprom连续读写异常问题3.总结:此次调试遇到的资源有ADC,UCOS启动和GPIO模拟I2C最近STM32缺货严重,公司产品所载MCU芯片需从STM32转到GD32,因此引发以下问题!涉及资源:GPIO,ADC,I2C(gpio模拟),UART,DMA,WDT1.问题集合直接将STM32的ROM烧写至GD32,出现如下问题:1.a原创 2021-09-06 11:56:33 · 4134 阅读 · 7 评论 -
【Jack-server常见错误】记录一次androidO编译引起的jack-server报错处理路程,我吐了
jack-server这个东西,姑且不论别的,就单单搞android os的人来说,肯定不陌生,因为它确实是太恶心了,这东西网上的资料也挺多的,但大多是互相参考,借鉴,所以总结出来的处理问题方法基本上是如出一辙,一旦遇到什么奇怪的问题,那么解决起来就相当棘手了,这次我就是这样,简直快被搞吐了。废话少说,直接进入主题!先上错误信息:错误一:oadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_typ原创 2021-09-01 17:01:18 · 321 阅读 · 0 评论 -
【buildroot时区问题】记录一次buildroot默认编译时区和时区选择的问题
系统:Linux Buildroot 2018.02-rc3-01869-gd0be749d53内核:kernel 4.4.189平台:rockchip px30通常情况下,在Linux上,我们可以通过对/etc/localtime的设置,或者如tzselect之类的命令去对我们当前系统的时区进行选择,但这次遇到个奇葩的问题,在公司带buildroot的产品上,时区相关的东西居然都没有,这里就想到了是不是buildroot默认没开,这里就有了如下的一些遭遇~开始在buildroot的编译选项中搜寻,原创 2021-08-09 14:01:58 · 1428 阅读 · 0 评论 -
【linux】ubuntu/Debian 文件系统以及loop设备扩容实现
文章目录1.前要知识(简要介绍):1.1 loop设备1.2 resize2fs1.3 e2fsck1.4 dd1.5 mkfs.ext42. 需求3.处理方案4.方案优缺点5.实现步骤5.1 方案一:直接扩容loop设备5.1.1 创建环境(此步骤为测试阶段,实操可跳过)5.1.2 扩容img镜像5.2 方案二:新建镜像,拷贝原镜像全部内容5.2.1 创建环境(此步骤为测试阶段,实操可跳过,**此步骤同方案一,因此略过**)5.2.2 扩容img镜像1.前要知识(简要介绍):1.1 loop设备Lo原创 2021-07-27 15:29:31 · 746 阅读 · 0 评论 -
【Linux Debian】systemd-journald CPU占用超高
系统:Linux Debian9内核:kernel 4.4.179平台:rockchip rk3399问题:客户使用我司提供的rk3399设备,搭载Linux Debian9桌面系统,有次他们反应有几台用top命令看到systemd-journald CPU占用超高,达到99%之高,而且是几乎开机后一会没多久就能复现问题。分析:systemd-journald服务是较新的Linux系统上搭载的日志管理守护进程服务,通过以往的经验第一就条件反射到了日志相关的异常上,于是经过沟通得到的信息是如下:两原创 2021-05-29 16:25:59 · 3439 阅读 · 1 评论 -
NETDEV WATCHDOG:xxx: transmit queue 0 timed out
系统:Linux buildroot内核:kernel 4.4.174平台:rockchip px30NETDEV WATCHDOG: eth0 (rk_gmac-dwmac): transmit queue 0 timed out公司新生产了一批PX30的设备,其中测试的时候遇到了如下问题:[ 14.960163] NETDEV WATCHDOG: eth0 (rk_gmac-dwmac): transmit queue 0 timed out[ 14.967501] --------原创 2021-05-29 16:03:18 · 3883 阅读 · 2 评论 -
[msm8909][Android5.1] 新增lcd panel
可参考: device/qcom/common/display/tools/README.txt新增panel流程1.工具准备:#sudo apt-get install libxml-libxml-perl#sudo apt-get install libxml-perl2.文件生成2.1 拷贝原先自带的xml作为将要生成的文件的基本。#cp panel_nt35596_1080...原创 2020-01-15 17:20:50 · 330 阅读 · 0 评论 -
DRM HDMI 调试分析之热插拔后HDMI不输出
kernel/drivers/gpu/drm/rockchip/rockchip_drm_vop.cgrep -rn “struct drm_info_node” kernel/include/kernel/include/drm/drmP.h:758:struct drm_info_node {原创 2021-04-09 11:37:37 · 1666 阅读 · 0 评论 -
PX30 uboot启动超慢问题解决调试分析记录
系统:Linux Debian 10内核:kernel 4.4.194平台:rockchip问题:原创 2021-04-08 09:39:11 · 802 阅读 · 0 评论 -
【Android/Linux系统编译记录】常见出错整理
文章目录1.解决/bin/sh: lz4c: 未找到命令1.解决/bin/sh: lz4c: 未找到命令发生于 RK3266 Android8.1LZ4是一种压缩算法,解决方法如下:安装lz4:apt-get updateapt-get install liblz4-tool重新编译 ok解lz4文件:lz4 -d 文件名...原创 2020-02-27 14:38:12 · 491 阅读 · 0 评论 -
Debian9 stretch xfce4桌面开启超时熄屏并锁屏不生效问题分析解决
系统:Linux Debian 9内核:kernel 4.4.194平台:rockchip问题:因为需求需要桌面系统使用密码登陆,并且登陆后长时间不操作进行熄屏并且锁屏动作这里先简单提下密码登陆,熄屏设置怎么操作。1.密码登陆:1.编辑配置文件vi /etc/lightdm/lightdm.conf2.找到用户自动登陆选项–autologin-user相关,并注释(取消)2.超时熄屏配置:这里提供两种方法。方法一:直接进行桌面图形化配置Setting -> Power ma原创 2021-03-08 17:39:39 · 1941 阅读 · 0 评论 -
【二】记录下 TB-RK1808M0 AI 使用的相关(踩坑问题记录)
文章目录问题,持续更新问题,持续更新原创 2021-03-01 09:12:35 · 621 阅读 · 2 评论 -
【一】记录下 TB-RK1808M0 AI 使用的相关
文章目录1.预备知识介绍:1.1 TB-RK1808M0 计算卡系统概述1.2 wiki上的TB-RK1808S0上手指南1.2.1 被动模式介绍:1.2.2 主动模式介绍:2.demo运行正常流程(套路)平台:aarch64 rk3399 + aarch64 rk1808 / x86_64 ubuntu 21.10 + aarch64 rk18081.预备知识介绍:这里就只提下TB_RK1808M0(以下简称rk1808)的预备知识了.能少多的就少说,毕竟现成的教程在这,自行摸索比嗟来之食要原创 2021-03-01 09:11:22 · 798 阅读 · 1 评论 -
debian9 rk3399内部看门狗调试记录
系统:Linux Debian 9内核:kernel 4.4.194平台:rockchip问题:使用内部看门狗时候,100Mhz的clk 发现应用层下设的喂狗超时时间和读取的喂狗超时时间对不上。即:如果设置的喂狗超时时间是7s,读出来的则是10s如下: printf("wdt set timeout %ds\n",timeout_s); ret = ioctl(wdt_fd,WDIOC_SETTIMEOUT,&timeout_s); //wdt get timeout 7s原创 2021-02-21 14:51:14 · 1474 阅读 · 0 评论 -
Linux debian系列之Ubuntu发行版多版本python管理--update-alternatives
whereis pythonsudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2sudo update-alternatives --config python原创 2021-02-05 11:11:26 · 418 阅读 · 0 评论 -
debian9 rk3399 U盘TF卡挂载路径
rk3399debian9文章目录1.目标2.实现2.1添加默认挂载至/media/2.2.添加指定设备热插拔处理机制2.3 添加软链接脚本3.思路描述1.目标本次调试目标:U盘设备/dev/sda* /dev/sdb* TF卡设备/dev/mmcblk0*设备挂载至/media目录下,同时挂载目录名为/dev/下的设备同名,即如下:2.实现先废话不多说,直接上实现。注意:此处实现是以软链接的形式将挂载目录等同链接至同设备名的目录(并不是直接将原先udisk2的以uuid为挂载目录的形式修改为原创 2021-02-02 10:22:54 · 1584 阅读 · 1 评论 -
rk3399 windows 烧录工具单独烧写自定义分区无法烧录
清空分区偏移,重新分区文件不要手动填写分区偏移地址原创 2021-01-08 10:07:27 · 914 阅读 · 0 评论 -
RTL8152B-VB-CG usb转网口芯片驱动指示灯驱动调试
调试平台:RK3399 Debian9 stretchkernel:4.4.179本次调试功能很简单–驱动网口座子上的指示灯安装需要的情况工作,即芯片手册上的自定义(Customizable LED Configuration),芯片手册这里贴出调试该功能的重点部分,其余的可详查手册。上述图取自芯片手册Features部分和6.2章节(自定义led灯),因为默认的情况是当该芯片通过驱动正常工作后,led灯的工作方式与我们常见的工作方式(以100M为例,比如电脑lan8720等的闪灯方式)并不一原创 2020-12-22 18:05:27 · 4218 阅读 · 2 评论 -
RN8209C单相电量计量芯片调试记录
芯片数据手册-简化版调试功能是读取直流电池电压,出于这个需求,也就是要读取芯片的3路AD值,因为有效值是针对交流的,这点可以查看手册。前提知道:通信:本次调试采用uart通信,rn8209c只有uart接口,采用9位数据(8位数据+偶校验),读寄存器只需要发送对应寄存器值就行,,波特率是4800,写的话需要保证最高为是1。没仔细读手册,这里吃了很大的亏。复位:RN8209C支持两只复位方式,一种是发送复位命令复位,另一种是拉低复位引脚25ms以上,复位引脚复用它的串口接收(RX)口,所以拉低ST原创 2020-11-06 09:10:52 · 5282 阅读 · 2 评论 -
linux系统发行版之RK3399 Debian定制调试记录
编译块:本次调试编译采用Debian9(Stretch),编译步骤如下:1.安装依赖工具及库sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler \gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools \linaro原创 2020-10-24 09:15:36 · 1319 阅读 · 0 评论