基于 alientek rv1126 快速启动调试那的写坑

1. sdk 编制准备工作

1.1 编译配置修改

首先拿到 sdk 通过修改一下相关配置

1.1.1修改DDR 配置

cd /home/alientek/rv1126/rkbin/RKBOOT

vi RV1126MINIALL_EMMC_TB.ini

​ 修改相关内容如下

  1. [CHIP_NAME]
  2. NAME=RV1126
  3. [VERSION]
  4. MAJOR=1
  5. MINOR=4
  6. [CODE471_OPTION]
  7. NUM=1
  8. Path1=bin/rv11/rv1126_tpl_924MHz_ddr4_tb_v1.08.bin
  9. Sleep=1
  10. [CODE472_OPTION]
  11. NUM=1
  12. Path1=bin/rv11/rv1126_usbplug_v1.20.bin
  13. [LOADER_OPTION]
  14. NUM=2
  15. LOADER1=FlashData
  16. LOADER2=FlashBoot
  17. FlashData=bin/rv11/rv1126_tpl_924MHz_ddr4_tb_v1.08.bin
  18. FlashBoot=bin/rv11/rv1126_spl_emmc_tb_v1.12.bin
  19. [OUTPUT]
  20. PATH=rv1126_spl_loader_v1.08.112.bin

1.1.2 修改固件打包脚本

cd device/rockchip/common/

vi mkfirmware.sh

修改如下

1.1.3 dts 修改

首先修改一下头文件 vi rv1126-evb-ddr3-v13-tb-emmc.dts

  1. 7 #include "rv1126.dtsi"
  2. 8 //#include "rv1126-evb-v13.dtsi"
  3. 9 #include "rv1126-alientek.dtsi"
  4. 10 #include "rv1126-thunder-boot-emmc.dtsi"
  5. 11 #include "rv1126-evb-thunder-boot.dtsi"
  6. 后面的外设 直接复制 rv1126-alientek.dts 该文件的 外设部分

注意:在采集图像的时候对导致dma 分配不出内存 修改一下内容

  1. 365 linux,cma {
  2. 366 compatible = "shared-dma-pool";
  3. 367 inactive;
  4. 368 reusable;
  5. 369 size = <0x8000000>; //修改这里
  6. 370 linux,cma-default;
  7. 371 };

1.1.4 驱动修改

大概说一下 修改imx415 驱动 另一个摄像头应该差不多 因为在快速启动的时候有一个驱动异步加载 这就和init_call 相关了 具体内容查看作者的 博客吧!

在imx415.c 文件中 修改内容如下:

  1. 2621 #ifdef CONFIG_ROCKCHIP_THUNDER_BOOT
  2. 2622 module_i2c_driver(imx415_i2c_driver);
  3. 2623 #else
  4. 2624 static int __init sensor_mod_init(void)
  5. 2625 {
  6. 2626 return i2c_add_driver(&imx415_i2c_driver);
  7. 2627 }
  8. 2628
  9. 2629 static void __exit sensor_mod_exit(void)
  10. 2630 {
  11. 2631 i2c_del_driver(&imx415_i2c_driver);
  12. 2632 }
  13. 2633
  14. 2634 device_initcall_sync(sensor_mod_init);
  15. 2635 module_exit(sensor_mod_exit);
  16. 2636 #endif

还有修改什么 目前忘了 有不懂的可以评论!!!

1.2 usb 功能调试

这里还是有很多问题的 大概说一下作者只调试了u盘看文档修改了内容

首先在 buildroot里面修改

  1. +BR2_PACKAGE_THUNDERBOOT_USE_EUDEV=y

将这个配置编译成固件

  1. diff --git a/arch/arm/configs/rv1126-tb.config b/arch/arm/configs/rv1126-
  2. tb.config
  3. index 729df48a8cb0..34d7d40c6d82 100644
  4. --- a/arch/arm/configs/rv1126-tb.config
  5. +++ b/arch/arm/configs/rv1126-tb.config
  6. @@ -1,4 +1,3 @@
  7. -CONFIG_BLK_DEV_SD=y
  8. +CONFIG_BLK_DEV_SD=y
  9. CONFIG_BT=m
  10. CONFIG_BT_HCIUART=m
  11. CONFIG_CFG80211=m
  12. @@ -24,8 +23,6 @@ CONFIG_ROCKCHIP_HW_DECOMPRESS=y
  13. CONFIG_ROCKCHIP_RAMDISK=y
  14. CONFIG_ROCKCHIP_THUNDER_BOOT=y
  15. CONFIG_ROMFS_FS=y
  16. -CONFIG_SCSI=m
  17. +CONFIG_SCSI=y
  18. -CONFIG_SCSI_MOD=m
  19. +CONFIG_SCSI_MOD=y
  20. # CONFIG_SLUB_SYSFS is not set
  21. CONFIG_SND=m
  22. CONFIG_SND_ALOOP=m
  23. @@ -47,21 +44,21 @@ CONFIG_SOUND=m
  24. CONFIG_STMMAC_ETH=m
  25. CONFIG_STMMAC_PLATFORM=m
  26. # CONFIG_TEE is not set
  27. -CONFIG_USB=m
  28. +CONFIG_USB=y
  29. # CONFIG_USB_CONFIGFS_F_UAC1 is not set
  30. # CONFIG_USB_CONFIGFS_F_UAC2 is not set
  31. # CONFIG_USB_CONFIGFS_F_UVC is not set
  32. # CONFIG_USB_CONFIGFS_RNDIS is not set
  33. -CONFIG_USB_DWC3=m
  34. -CONFIG_USB_DWC3_OF_SIMPLE=m
  35. -CONFIG_USB_DWC3_ROCKCHIP_INNO=m
  36. -CONFIG_USB_EHCI_HCD=m
  37. -CONFIG_USB_EHCI_HCD_PLATFORM=m
  38. +CONFIG_USB_DWC3=y
  39. +CONFIG_USB_DWC3_OF_SIMPLE=y
  40. +CONFIG_USB_DWC3_ROCKCHIP_INNO=y
  41. +CONFIG_USB_EHCI_HCD=y
  42. +CONFIG_USB_EHCI_HCD_PLATFORM=y
  43. CONFIG_USB_HID=m
  44. # CONFIG_USB_NET_DRIVERS is not set
  45. -CONFIG_USB_OHCI_HCD=m
  46. -CONFIG_USB_OHCI_HCD_PLATFORM=m
  47. -CONFIG_USB_STORAGE=m
  48. +CONFIG_USB_OHCI_HCD=y
  49. +CONFIG_USB_OHCI_HCD_PLATFORM=y
  50. +CONFIG_USB_STORAGE=y
  51. CONFIG_USB_XHCI_HCD=m
  52. CONFIG_USB_XHCI_PLATFORM=m

还是很文档不一样的

最后在开发版可以看见 ls /dev/sda1

如果需要usbmount自动挂载请查看这篇文档

《rv1126 —— udev机制、增加U盘识别功能、usbmount实现USB设置自动挂载》 - 一个不知道干嘛的小萌新 - 博客园 (cnblogs.com)

2. 编译SDK

  1. ./build.sh BoardConfig-tb-v13.mk && ./build.sh

最后烧录到开发板 启动 可以看见 屏幕上有摄像头录制的内容。

必须烧录update.img,原子哥告诉我的。

就这么多 调试不易

基于 alientek rv1126 快速启动调试那的写坑的更多相关文章

  1. 在Visual Studio中快速启动调试Web应用程序

    原文:http://blog.csdn.net/effun/article/details/2638535 到2005,Visual Studio在启动调试的功能上进行了一些改善,不过因为只是简单的一 ...

  2. 基于TILE-GX实现快速数据包处理框架-netlib实现分析【转】

    最近在研究suricata源码,在匹配模式的时候,有tilegx mpipe mode,转载下文,了解一下. 原文地址:http://blog.csdn.net/lhl_blog/article/de ...

  3. Atitit 控制中心快速启动面板quick launcher

    Atitit 控制中心快速启动面板quick launcher contralPanel.bat aaaControlPanel.contrlx /AtiPlatf_auto/src_atibrow/ ...

  4. 使用Yeoman快速启动AngularJS项目开发

    本博客停止更新,请访问新个人博客:owenchen.net 前言 博客迁移到了BAE上,http://owenchen.net/,以后的文章会首发在自己的博客上,随后在博客园发布. 很久没有写文章了, ...

  5. 3D Touch:静态快速启动方式

    原文传送门:Add iOS 9’s Quick Actions shortcut support in 15 minutes right now !   苹果在iOS9 上引入3D触控(压力触控)功能 ...

  6. Dubbo -- 系统学习 笔记 -- 快速启动

    Dubbo -- 系统学习 笔记 -- 目录 快速启动 服务提供者 服务消费者 快速启动 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubb ...

  7. ok6410[002] ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境

    ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境 系统:  ubuntu16.04 裸板: 飞凌公司OK6410开发板 目标:搭建基于ubuntu1604系统和基于RA ...

  8. springboot之swagger快速启动

    springboot之swagger快速启动 简介 介绍 可能大家都有用过swagger,可以通过ui页面显示接口信息,快速和前端进行联调. 没有接触的小伙伴可以参考官网文章进行了解下demo页面. ...

  9. Windows下快速启动/关闭orcl服务

    大家都知道windows下绝大部分都是图形操作化,很少用命令来执行,例如启动.关闭orcl数据库服务时,一般情况都是在任务管理器(taskmgr.ctrl+shift+esc)或服务(services ...

  10. 基于renren-fast的快速入门项目实战(实现报表增删改查)

    基于renren-fast的快速入门项目实战(实现报表增删改查) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 官方开发文档需付费,对于新手而言 ...

随机推荐

  1. WriteFile 奇怪的现象

    项目中有个需求是要对文本内容检索并重写,我们使用的是 WriteFile 覆盖旧的文本内容 最小示例: #include <Windows.h> #include <iostream ...

  2. 学习go语言编程之错误处理

    error接口 Golang中有一个关于错误处理的标准模式,即:error接口. type error interface { Error() string } 对于大多数函数,如果要返回错误,大致上 ...

  3. Flutter学习(PV)——概览

    接触flutter有一段时间了,趁着刚过完年有点时间,记录一些有用的东西,一方面给自己备忘,另一方面也希望能帮到有需要的人~ 一.什么是flutter Flutter is Google's UI t ...

  4. React Native如何每次唤醒APP都执行一段代码

    最近想要做一个类似于淘宝每次打开会根据用户剪贴板内容弹出对应商品的功能.要完成这个功能需要每次唤醒APP都读取一次剪贴板. 1.监听 && 销毁 1 async componentDi ...

  5. 【图论#02】岛屿系列题(数量、周长、最大面积),flood fill算法的代码实现与优化

    岛屿数量 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量. 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成. 此外,你可以假设该网 ...

  6. 图数据库 NebulaGraph 的 Java 数据解析实践与指导

    如何快速.即时.符合直觉地去处理 Nebula Java Client 中的数据解析?读这一篇就够了. 图数据库 NebulaGrpah 的论坛和微信群里,有不少用户问及了 Java 客户端数据解析的 ...

  7. mysql-对应删除 dict 脚本

    -- 1. 此 dict 是在不同租户下的数据字典,查询时需要根据 departid 进行分类查询 -- 2. 删除dict, dict分类主表类型与挂载的子表数据 -- 3. 通过查询到的主表的 g ...

  8. DuiLib 一个window的皮肤库 C++ 项目,打包小,比较纯正主流的大制作

    https://github.com/duilib/duilib 从 火柴 那个软件 发现的这个库

  9. github git clone下载加速 && npm install 下载加速

    git clone https://pd.zwc365.com/seturl/< https 开头的项目地址> npm install --registry=https://registr ...

  10. 基于恒玄WT250芯片的蓝牙辅听耳机方案调试总结

    前记 在蓝牙辅听领域卷了几年之后.各种型号的蓝牙辅听器都做过.这次,客户需要一款性价比超高的蓝牙辅听器.经过成本以及功能考量的筛选.最终定下来使用wt250来做一款低成本的蓝牙辅听器. 硬件部分 wt ...