调研了一段时间,2013 年的时候 tiny4412正火,可以跑 Linux 和 Android,火到了2017年,然后性能不行了,学习板市场接力棒给到了 RK3399,现在 RK3399 性能在同行中还可以...RK3399可以跑 Linux、Android、ubuntu、yocto、openwrt 系统。可以用在平板、视频监控、人脸识别、边缘计算等场景。...编译 Android 系统是以小时来计算的,一般电脑就算 make -j24 也要四小时,编译出来的就是你手机跑的固件。...编译Linux可能只需要半小时而已,最新的Linux kernel 5.16也才122M。 现在最新的版本是 Android12。 为什么要这么久呢?...博主先玩一玩RK3399,有好玩的分享给大家。 note:RK3399的性能不如RK3399pro,RK3399pro有NPU,可以搞AI。
最近在小黄鱼入手了一个RK3399的开发板,RK的芯片我也是第一次使用。FireFly配套提供了完善的教程,可以在他们的WIKI上找到。...上面有的内容就不在本文叙述了,大家可以参考教程https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/linux_compile_gpt.html 这篇文章主要如何对板子做一些基础的配置.../rockchip_linux_myconfig.config ..../arch/arm64/configs/rockchip_linux_myconfig.config make ARCH=arm64 rockchip_linux_myconfig.config;make...29837312 Sep 24 22:20 boot.img -rw-rw-r-- 1 zhongyi zhongyi 19324928 Sep 24 22:20 zboot.img 编译打包 生成的固件在
,比如 i.MX6 目前用的内核很多是 Linux 4.1,rk3288/rk3399 目前用的内核大部分是 Linux 4.4,芯片原厂为了系统的稳定和易于维护,一般会在这个特定的版本上做长期开发,...过去两个月利用空闲时间在 RK3399 Leez P710 开发板上移植了最新的 U-Boot 和 Linux kernel,然后把对应的补丁提交到了 mainline 上,Linux Kernel 的补丁被合并到...如果你的板子上有eMMC,最好先把eMMC 上的固件擦除,至少把eMMC 从第64个扇区开始的一小段擦除,因为RK3399 默认是优先从eMMC 启动的,擦除方法很多,比如进入 u-boot 命令行,通过...- PLAT=rk3399 最终编译出来的目标文件为:build/rk3399/release/bl31/bl31.elf, 这个文件需要和编译出来的 u-boot 一起打包成 fit 格式的镜像才能被...为了安全起见,最好先把系统中原生的 vmlinuz-5.4.1-rockchip64和 rk3399-leez-p710.dtb 拷贝出来备份起来,万一更新的固件破坏了某个功能,还可以用备份的来恢复。
RK33 系列最出名的是旗舰芯片 RK3399,采用双核 Cortex-A72 + 四核 Cortex-A53 的大小核架构,其中的 A72 最高运行频率达 2GHZ,也是 Google Chromebook...https://wiki.radxa.com/Rock2 RK3399 系列 Firefly-RK3399:Firefly 设计,还有另外一款 ROC-RK3399-CC。...http://www.t-firefly.com/product/rk3399.html NanoPC-T4:友善之臂设计,他们基于 RK3399 设计的还有 NanoPi-M4,NanoPi-NEO4...Tools 和 Firmware 主要描述了芯片启动和固件烧写相关流程,对于Bootloader 相关的开发帮助很大。...可以直接下载他们官网提供的固件,也可以下载源码自己编译。 ?
产品概述 IDO-SOM3908-V1 是基于 RK3399 系列 CPU 开发设计的一款高性能核心板,双 Cortex-A72 大核+四 Cortex-A53 小核,六核 64 位 CPU,搭载 Android7.1.../LINUX 系统,主频高达 2.0 GHz,采用 Mali-T864 GPU,支持 4K、H.265 硬解码。...3908正.jpg 产品特点 ◆ RK3399 超强 CPU 搭载 Android/Linux 系统(Android7.1),安兔兔跑分 10W+。...USB:2路USB 2.0 HOST,2 路 USB3.0(硬件可配置为 2 路 TYPE-C)其中一路为固件烧录接口。 RGMII PHY:1 路内置 GMAC 以太网控制器,可扩展千兆以太网。...IO:多路 IO 复用,分别为 1.8V/3.3V 电平 系统升级:支持本地 USB 升级 操作系统:Android 7.1/LINUX RTC实时时钟:支持
产品概述 IDO-SBC3958是基于RK3399系列CPU开发设计的一款高性能安卓主板,双Cortex-A72大核+四Cortex-A53小核,六核64位CPU,搭载Android7.1系统(Android10...3958-V1A1.jpg 产品特点 ◆ RK3399 超强 CPU 搭载 Android/Linux 系统(Android7.1/Android10正在适配中),安兔兔跑分10W+。...摄像头接口 耳机输出:支持一路标准 3.5mm 4 段耳机接口 TP 输入:1 个 I2C 触摸屏接口,支持电容触摸屏 USB 接口:8 路扩展 USB2.0 ,2 路源生 USB3.0 (其中 1 路可为固件下载口...IO 扩展:1 路 IO 扩展,可复用 SPI 功能 系统升级:支持本地 USB 升级 操作系统:Android 7.1/ Android10 正在适配中/LINUX RTC 实时时钟:支持 定时开关机
后续的文章会从多个方面详细介绍如何基于官方的SDK定制一套Android固件。...对于启用了A/B分区的设备,则是决定要启用slot A的固件还是slot B的固件。.../make.sh loader 即可得到rk3399_loader_v1.24.126.bin,就是制作出来的FSBL固件 然后烧录到板上验证一下,要烧录loader固件,必须使tinkerboard2.../build.sh rk3399。执行此命令时,默认使用的defconfig文件为rk3399_defconfig。...RK平台上,uboot会引导启动TRUST固件,这个固件不开源,它的配置从uboot获取。
微代码就是由 Intel/AMD 提供的 CPU 固件。Linux 的内核可以在引导时更新 CPU 固件,而无需 BIOS 更新。处理器的微码保存在内存中,在每次启动系统时,内核可以更新这个微码。...如果你是一个 Linux 系统管理方面的新手,如何在 Linux 上使用命令行方式去安装或者更新 Intel/AMD CPU 的微码固件呢?...如何在 Linux 上使用包管理器去安装微码固件更新 对于运行在 x86/amd64 架构的 CPU 上的 Linux 系统,Linux 自带了工具去更改或者部署微码固件。...-microcode —— Debian/Ubuntu 和衍生发行版的适用于 AMD CPU 的微码固件 linux-firmware —— 适用于 AMD CPU 的 Arch Linux 发行版的微码固件...(你不用做任何操作,它是默认安装的) intel-ucode —— 适用于 Intel CPU 的 Arch Linux 发行版微码固件 microcode_ctl 、linux-firmware
如下就是针对如何对加密固件进行解密的其中一个方法:回溯未加密的老固件,从中找到负责对固件进行解密的程序,然后解密最新的加密固件。...size: 17648005 bytes, Data Address: 0x81001000, Entry Point: 0x81637600, data CRC: 0xAEF2B79F, OS: Linux..., CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "Linux Kernel Image"160...签名的流程一般不直接对固件本身的内容进行签名,首先计算固件的HASH值,然后开发者使用私钥对固件HASH进行签名,将签名附加到固件中。...首先是固件的获取,从官网下载到的固件是加密的,然后看到一篇文章简单说了下基于未加密固件版本对加密固件进行解密,也是DIR 3040相关的。但是我在官网上没有找到未加密的固件,全部是被加密的固件。
sysfs把连接在系统上的设备和总线组织成为一个分级的文件,它们可以由用户空间存取,向用户空间导出内核的数据结构Q以及它们的属性。sysfs的一个目的就是展示设...
/lib/x86_64-linux-gnu $ cp /lib/x86_64-linux-gnu/libtinfo.so.5 ..../lib/x86_64-linux-gnu/ $ cp /lib/x86_64-linux-gnu/libdl.so.2 ..../lib/x86_64-linux-gnu/ $ cp /lib/x86_64-linux-gnu/libc.so.6 ..../lib/x86_64-linux-gnu/ $ cp /lib/x86_64-linux-gnu/libm.so.6 ..../lib/x86_64-linux-gnu/ $ cp /lib/x86_64-linux-gnu/libc.so.6 .
wbyq@wbyq:~/work/rk3399/x264-snapshot-20181217-2245$make clean wbyq@wbyq:~/work/rk3399/x264-snapshot-...修改其中的工具链,具体看下面的代码,我的编译器是aarch64-linux- SRCPATH=. prefix=/home/wbyq/work/rk3399/x264-snapshot-20181217...-o LDFLAGS= -lm -lpthread -ldl LIBX264=libx264.a AR=aarch64-linux-ar rc RANLIB=aarch64-linux-ranlib...STRIP=aarch64-linux-strip INSTALL=install AS= ASFLAGS= -I....wbyq@wbyq:~/work/rk3399/ffmpeg-4.2.2$ make clean wbyq@wbyq:~/work/rk3399/ffmpeg-4.2.2$ .
platform:RK3399 OS:Android 7.1 1....在linux下打包 zip -r -0 bootanimation.zip part1 desc.txt在windwos下打包,注意选择“仅存储”,且不要新建bootanimation文件夹,而是直接打包文件...system/media/完全替换 在板级配置文件rk3399.mk中增加如下内容 #for bootanimation PRODUCT_COPY_FILES += \ device/rockchip/rk3399.../bootanimation.zip:system/media/bootanimation.zip 在rk3399中还需要更改另外一处地方: 替换device/rockchip/common目录下的bootanimation.zip...这种现象在烧录固件第一次开机的时候尤其明显。
需要同时在 tina-d1-h/lichee/brandy-2.0/u-boot-2018/drivers/mtd/awnand/spinand/physic/id.c 和 tina-d1-h/lichee/linux
这个是我们要看的代码,很少的代码 MultiWii 的第一个配置是在固件源的config.h文件中完成的。...这是通过添加或删除#define参数前面的//来完成的,该参数注释或取消注释该行,以便它包含或不包含在最终固件中。...define MINTHROTTLE 1180 #define I2C_SPEED 400000L #define CRIUS_SE 下一步是使用 Arduino IDE 或其他方式(如 ISP 编程器)将固件上传到控制器板...目前 Arduino IDE 将无法编译超过程序内存大小的固件,但它只会警告可能的低 RAM。 这样就是开启了 http://www.multiwii.com/wiki/index.php?
PS:由于在一次内部分享过程中,未能成功固件仿真,所以在此补充一文作为固件仿真入门介绍。 0X01前言 固件仿真可以在入门学习时更为便捷且能够节省成本去对固件进行分析及漏洞利用。...在固件分析学习中所需工具例如firmware-analysis-toolkit等固件分析工具包安装及配置步骤较为繁琐,目前有已有前辈集成好了固件分析所需镜像环境。...若想自行尝试安装Qemu、Firmadyne等工具请参考团队小伙伴文章物联网固件仿真环境的搭建,下文中使用了FIRMADYNE进行固件仿真,这是一个自动化的可扩展系统,可用于对基于Linux的嵌入式固件执行进行仿真和动态分析...为了方便后续漏洞复现,我下载了固件DIR-645固件二进制文件并到firmadyne工具目录下运行./fat.py及指定固件名称。 ?...简单归纳下FAT脚本的操作: (1)从固件中提取文件系统 (2)获取固件架构 (3)制作所需镜像 (4)网络设置 (5)镜像仿真 至此,一个简单的固件仿真流程完毕。
ROCK Pi 4 是瑞莎生产的一款基于国产芯片厂家瑞芯微RK3399的单板计算机。它可以运行Android和Linux系统。...官方wiki:https://url.zeruns.tech/rockpi4_wiki 准备 (此方式适用于rock pi 4A/B/C烧录Armbian/Debian/Ubuntu/Android的固件...Armbian/Debian/Android10系统下载(Rock Pi 4C的):https://url.zeruns.tech/rockpi4_bdy 提取码:5y5w Rock Pi 4C 系统固件...第 2 步:选择系统固件 然后在 Image 行中单击右侧的最后一列,然后选择要烧录的系统镜像(在文章开头给出的链接里下载Armbian开头的文件)。...推荐文章 高性价比和便宜的VPS/云服务器推荐:https://blog.zeruns.tech/archives/383.html Linux系统挂载U盘或硬盘教程(查看、分区、格式化、挂载):https
st官方固件库是在寄存器操作之上的,但是使用寄存器操作的话,需要注意的地方很多,需要对照参考手册一个一个赋值,稍有不慎便会出错,所以固件库将外设的初始化封装成初始化结构体,将外设的操作封装在函数中,将寄存器赋值的操作都封装起来...,我们只需要调用API就可以,这样一来既提高了开发效率,也减少了代码量,如果还不能在MDK里熟练使用固件库编程,建议先补基础~接下来,我们在上一节寄存器工程的基础上,添加固件库,使用固件库进行开发。...user:因为使用了固件库,所以将固件库配置头文件stm32f10x_conf.h,中断服务程序文件stm32f10x_it.h和stm32f10x_it.c都复制进去,这些文件从固件库的project...2.编译固件库工程 固件库编译的时候有几点需要注意两点: 文件和makefile不是同一个目录时,如何告诉makefile找到头文件呢? 固件库中如此多的c文件,如何添加依赖关系呢?...可以在c文件全部使用相对于makefile的相对路径,显然这是最笨的办法,因为这么多文件,不可能一步一步添加,但是,在linux下可以使用find命令来寻找目录下的文件,所以我们使用find ./ -name
一、环境介绍 宿主机环境: ubuntu18.04 64位 PC平台 目标环境: RK3399(ubuntu18.04 64位 ARM平台) 编译器: aarch64-linux-gcc 二、交叉编译...details/105984222 libyuv下载地址:https://download.csdn.net/download/xiaolong1126626497/12631325 wbyq@wbyq:~/rk3399.../$ unzip /mnt/hgfs/linux-share-dir/libyuv-master.zip wbyq@wbyq:~/rk3399/$ cd libyuv-master/ wbyq@wbyq...:~/rk3399/libyuv-master$ gedit linux.mk 修改之后继续编译。...wbyq@wbyq:~/rk3399/libyuv-master$ make -f linux.mk
获取设备固件的最简单方法是从供应商更新服务器(通常是FTP服务器)下载,服务器中存储了不同版本的固件,而获取下一个版本的技术已编码在固件中。...固件比对技术 在本节中,我会总结ZDI文章中的内容,如果你已阅读,则可以跳过本节。 让我们考虑一种情况,你具有已加密的固件版本,并且用于解密更新固件的算法位于设备固件中。...经常使用的另一种方法是Linux chroot 。...Firmware Auditor可用于: 1、熵图 2、探索Linux文件系统并下载所有内容(在本文案例中为enimg二进制文件、PHP文件) 3、build 函数的反编译代码 4、更多内容 结论 我们掌握了不同的方法来确定固件是否已加密...,如何使用固件比对方法来查找固件中使用的解密方法,以及如何使用它并复制该方法到另一个固件。
领取专属 10元无门槛券
手把手带您无忧上云