1.OpenHarmony代码编译及源码跳转配置
2.rk3228/3328盒子刷armbian
3.Trojan/Win32.Agent.ayqa.rgrk如何查看源代码
4.使用CodeViser 调试RK3399 处理器和Linux kernel指导(第二部分)
5.修改KDJ指标公式
6.使用CodeViser调试RK3399处理器以及Linux kernel指导(第一部分)
OpenHarmony代码编译及源码跳转配置
本文旨在指导在Linux(如Ubuntu .和.,获取获其他系统可参考)环境下下载和编译OpenHarmony(OH)代码,源码源码并配置Visual Studio Code(VSCode)以实现Native框架(C++)代码的工具智能跳转,以提升阅读OH源码的获取获便捷性。1. 下载与编译
从OH官网下载链接(gitee.com/openharmony/d...)获取代码。源码源码进入代码根目录后,工具cr超级指标源码执行build.sh脚本,获取获例如针对rk开发板的源码源码编译命令会包含选项`--gn-flags="--export-compile-commands"`,用于生成compdb数据库,工具以备后续使用。获取获2. VSCode插件与配置
在编译过程中,源码源码安装VSCode的工具clangd插件,它与compdb文件配合。获取获记得禁用默认的源码源码C/C++插件。接着,工具使用VSCode通过SSH(Windows和macOS用户适用)访问OH源代码目录,创建.vscode文件夹,其中包含settings.json。3.1. 插件安装与启用
在settings.json中填写以下配置:- clangd.path: 指定OH预构建的clangd路径。
- --compile-commands-dir: 编译产生的compdb文件路径,例如在rk上为out/rk/compile_commands.json,需根据实际编译产品找到相应路径。
- --query-driver: 指定OH预构建的clang编译器路径。
3.2. VSCode配置
关闭并重新打开VSCode,当C++文件(如foundation文件夹下的Rh交易源码Native C++代码)打开时,clangd将开始索引,索引完成后即可享受代码跳转功能。rk/盒子刷armbian
在macOS系统上构建rkdeveloptool需要使用homebrew或相似的包管理器。首先,需要安装homebrew,然后使用以下命令安装必要的构建依赖:
brew install automake autoconf libusb
随后,使用git命令克隆源代码库:
git clone GitHub - radxa/rkdeveloptool
进入源码目录并执行配置文件生成:
cd rkdeveloptool
autoreconf -i
./configure
接着,使用以下命令编译代码:
make
如果在编译过程中遇到错误,例如:
./configure: line : syntax error near unexpected token `LIBUSB1,libusb-1.0'
则需要安装pkg-config和libusb-1.0:
brew install pkg-config
安装完成后,重新执行配置文件生成和编译:
autoreconf -i
./configure
make
编译成功后,将可执行文件复制到/bin目录下,并赋予执行权限:
sudo cp rkdeveloptool /opt/homebrew/bin/
运行:
rkdeveloptool -v
以确认是否安装成功。接着进行设备操作:
1. 关闭设备电源。
2. 按下reset按钮,通过USB线连接电脑和设备。
3. 使用命令行执行`lsusb`以确认设备是否被识别,id应为:b。
4. 使用`sudo rkdeveloptool rd 3`进行操作,如果失败无需担心,尝试继续下一步。
5. 使用`sudo rkdeveloptool db rkx_loader_v1...bin`进行设备启动文件下载。
6. 使用`sudo rkdeveloptool wl 0x0 Armbian_..1_Rkx-box_jammy_current_5...img`进行Armbian映像写入。
7. 完成写入后,断电,彩虹3源码插上USB键盘、HDMI线和网线,重启设备。
Trojan/Win.Agent.ayqa.rgrk如何查看源代码
首先你需要知道病毒是用什么变成软件写成的。
如果是VB,去网上找找“VB反编译”
这时你可能看到的是乱码,也可能是清晰的代码。如果是乱码,说明文件还加了壳,再去碰碰运气看加的是哪种壳,然后对应的下脱壳软件!
使用CodeViser 调试RK 处理器和Linux kernel指导(第二部分)
前文概述:在上篇教程中,我们介绍了如何使用CodeViser这款J&D Tech公司的JTAG仿真器,配合CVD调试软件,对瑞芯微RK多核芯片进行处理器和Linux kernel的调试,使用的是华清FS开发板。RK芯片以其双Cortex-A大核和四Cortex-A小核的big.LITTLE架构,以及对性能、功耗和核心面积的优化,为我们提供了强大的调试基础。 Linux Kernel调试步骤如下:首先,按照FS开发板的指南,建立Linux系统的虚拟机,并获取并编译源代码。人气站源码将编译后的Linux kernel打包至CVD软件的机器,将源码解压至指定目录。
通过串口启动系统,暂停在uboot环境中。
启动CVD软件,通过System选项卡进入Debug模式,连接并加载Linux kernel(选择No-code)。
利用Symbol Browse View,设置start_kernel的断点,然后通过Go命令进入调试。
在smp_cpus_done函数设置断点,等待多核启动后,进行SMP调试。
在Debug List View中,根据核心选择进行单步调试,切换至core1或core4进行进一步分析。
CodeViser的多核和对称多处理(SMP)调试功能使得调试过程更为高效。要了解更多关于其他芯片平台的AMP调试,可以关注我们的微信公众号麦克泰技术,回复“加群”加入技术交流群。 如有产品咨询,可联系我们的服务中心:北京:-
上海:-
深圳:-
修改KDJ指标公式
是用CCI来构造的, 源码如下
N:=;
RK:SMA(CCI,3,1);
RD:SMA(RK,3,1);
RJ:3*RK-2*RD;
头:=+REVERSE(EMA(RJ,1));
底:=-+REVERSE(EMA(RJ,1));
抛:IF(RJ>头,,),COLORGREEN;
吸:IF(RJ<底,-,-),COLORRED;
现价:=(C+L+H)/3;
AO:=SMA(现价,5,1)-SMA(现价,,1);
AC:AO-SMA(AO,3,1),LINETHICK2,COLORRED;
IF(AC<REF(AC,1),AC,DRAWNULL)LINETHICK2,COLORBLUE;
使用CodeViser调试RK处理器以及Linux kernel指导(第一部分)
CodeViser是由J&D Tech公司开发的一款JTAG仿真器,兼容ARM和RISC-V等CPU核。其配套的苹果下载源码CVD调试软件提供了一个高效稳定的调试环境,支持源码级调试和强大的脚本命令。本文将讨论如何使用CodeViser调试瑞芯微公司RK多核芯片,开发板选用华清FS开发板。
RK的CPU采用big.LITTLE大小核架构,拥有双Cortex-A大核和四Cortex-A小核,对整数、浮点、内存等方面进行了大幅优化,在整体性能、功耗和核心面积三个方面都实现了革命性提升。
串口设置
1、打开Putty串口工具,在“Connection Type”下选择Serial,在“Serial Line”下的框中填写COM5(根据你的PC设备管理器查看你的串口是COM几),在“Speed”下的框中填写波特率为。
2、选择左边“Category”最下方的“Serial”,将右边的“Flow Control”改为“None”。
3、点击下面的“Open”按钮,即可打开串口。
注意:串口线需连接到RK板子的UART2上。
4、给板子上电,然后在串口中按Ctrl-C,让程序停在boot循环中。
CVD设置和调试
1、将CVD仿真器USB电缆与PC机相连,将CVD的JTAG/SWD适配版与RK板子的JTAG端口相连。
2、根据板子提示,设置板子卡槽边上的拨码开关,选择JTAG(1 on,2 off,3 off)或SWD(1 off,2 on,3 on)调试方式。
3、打开CVD软件,设置Coresight中调试用的CodeBase地址和CTI Base地址,从菜单上选择Config->Interface,然后,Method选择manual,CPU选择AA,core选择6个,我先选择的是SWD调试方式。
然后,选择Coresight选项卡,设置Base Address->Code Base,A Core0、Core1、Core2和Core3地址是0x、0x、0x和0x。
A Core4和Core5的地址是0x和0x。
再选择Coresight选项卡,设置Base Address->Cti Base,A Core0、Core1、Core2和Core3地址是0x、0x、0xA和0xB。
A Core4和Core5的地址是0x和0x。
SWD调试
1、按System->System Mode->Up,系统进入Debug模式,可以进行基本调试了。
2、按工具条上向右的**箭头图标,可以显示调试窗口。
再按Debug List View视图中的STEP或OVER按钮或工具条上的Step in或Step Over,就可以进行单步调试了。
打开寄存器窗口,可看到调试时,有变化的寄存器高亮显示。
注意:我试了将拨码开关设置成JTAG模式,无法进行调试。
未完待续!
第二部分Linux Kernel调试和多核调试内容将在下周发布,敬请关注!
RK Android 修改默认系统签名踩坑分享
客户面临硬件升级需求,从RK转至RK。原系统默认Launcher为业务应用,指定为android.uid.system。因产品成熟,无法更改应用签名,故需修改系统签名以适应应用。
客户任务:替换RK默认签名,具体操作为替换platform.pk8与platform.x.pem文件。
原文件路径:build\target\product\security\platform.pk8与build\target\product\security\platform.x.pem。
初步尝试替换文件后编译,发现系统仍沿用默认签名。深入分析源码发现关键点,Android.mk文件中存在隐含规则,遵循后编译即生效。
后续问题:编译后刷入系统,设备卡在动画界面,日志显示系统一直在zygote init阶段,同时报出java.lang.IllegalStateException错误,指出系统包签名校验失败。
错误原因:源码中预装的两个apk使用了RK的系统签名,与客户自定义签名冲突,导致校验失败。识别到vendor\rockchip\common\apps\DeviceTest与vendor\rockchip\common\apps\RKDeviceTest目录下的Android.mk文件中存在LOCAL_CERTIFICATE := PRESIGNED的配置。
解决策略:将LOCAL_CERTIFICATE := PRESIGNED改为LOCAL_CERTIFICATE := platform,明确指定使用客户提供的系统签名文件。
问题解决:修改配置后重新编译,控制台显示成功。刷入update.img后,系统运行正常,客户可自定义默认Launcher并实现平板直接进入Launcher。
Uboot编译与打包流程
设备:firefly RKQ SDK: Firefly提供的SDK uboot源码
前言:本文将带领大家获取RKQ源码,了解u-boot源码编译方法、uboot镜像生成与说明,提供对uboot编译镜像的整体认识。
源码获取:访问Firefly官网下载iCore Q SDK源码,参考wiki文档解压同步RK Android SDK源码。
uboot编译:进入u-boot目录,执行命令进行整体编译。出现成功日志表示编译完成。
uboot镜像说明:uboot编译后生成目标文件,重点介绍两个重要镜像及其生成方式。
loader镜像生成:调用fit.sh脚本中的指令实现,依赖DDR、USB、miniloader相关bin文件,合并输出生成。
uboot.itb镜像生成:先生成uboot.itb镜像,再由mkimage工具根据u-boot.its文件形成,大小固定为4MB。
uboot.img镜像生成:fit.sh脚本调用命令,ITB_MAX_NUM与ITB_MAX_KB参数固定在2与,确保大小稳定。
make.sh脚本分析:make.sh主要执行步骤包括参数分析、工具链与平台配置、芯片信息获取、镜像大小与配置文件选择、额外参数处理与镜像打包等。
总结:本篇介绍了uboot镜像生成与make.sh脚本执行流程,了解各镜像来源与make.sh功能,有助于后续代码修改。