【米尔瑞萨RZG2L开发板-创新应用】+家庭防盗机之基本功能体验

瑞萨开发板准备

    • 1. 搭软件开发环境,安装米尔的sdk,安装的是full版本
      • 执行到这步,基本的编译环境就完了,可以编写一个hello.c试下。
    • 2. yocto构建开发板镜像,使用myir-image-full,也就是对应的myir-renesas-yocto.tar.bz2
    • 3. 编译开发板镜像
      • 执行环境变量设置脚本
      • 构建镜像
      • 上步的问题如何解决???看来没加载镜像。这个得问官网FAE技术了
    • 4. 镜像烧录问题??
      • SD卡启动镜像,这个根据手册《软件开发指南》弄就行,没遇到什么问题。
      • 烧写 bootloader 到 qspi,这个是有顺序的,烧写顺序不对的话,会看不到输出结果
      • 文件系统烧写,也就是把前面SD卡启动镜像,通过Uboot读到emmc里。
      • 上步的问题,解决估计又得问厂家的FAE了,一直也没联系上,光靠邮件的方式,显然是效率不足的。
    • 5. 总结

​ 之前一直是用ubuntu16及18,瑞萨官方给推荐用的开 发环境是ubuntu20,算是比较新的环境了。花了两晚上的时间总算把环境弄好了。接下来就是开发了,摄像头部分看能否复用公司项目上的,其他再找找家里有没有合适的项目剩下的物料。开篇来个熟悉下环境及板子。

1. 搭软件开发环境,安装米尔的sdk,安装的是full版本

根据《软件开发指南》来就可以了。耐心等待安装完成即可。相比于齐感或全志,搭建米尔的sdk还是挺简单的,不需要通过gitlib来下载,直接使用现成的批处理文件即可。
执行cc -v,可以看到编译器的版本信息

执行到这步,基本的编译环境就完了,可以编写一个hello.c试下。

source /opt/poky/3.1.20/environment-setup-aarch64-poky-linux
执行$CC hello.c -o hello,后,file下,可以看到编译后的文件属性为:

hello: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-aarch64.so.1, for GNU/Linux 3.14.0, BuildID[sha1]=a928b0617a1489f13513232c05d84dd99b26ae77, with debug_info, not stripped

2. yocto构建开发板镜像,使用myir-image-full,也就是对应的myir-renesas-yocto.tar.bz2

这步还是需要些时间的,本来看着也就几百M,实际解压出来,需要大量的时间。

3. 编译开发板镜像

执行环境变量设置脚本

执行DISTRO=poky MACHINE=myir-yg2lx source layers/meta-myir-yg2lx/scripts/myir-environment.sh build-myir,自动会进入build-myir目录。

构建镜像

直接在build-myir目录下执行bitbake myir-image-full -k,实际此步是执行不下去的,会遇到错误,仔细看了下手册,是需要解压Yocto-qt-downloads.tar.bz2,但这个文件在哪里呢???
实际报错如下:

guangod@guangod-virtual-machine:~/myir-renesas-yocto/build-myir/tmp$ bitbake myir-image-full
ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
    Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
    Following is the list of potential problems / advisories:

    Fetcher failure for URL: 'https://yoctoproject.org/connectivity.html'. URL https://yoctoproject.org/connectivity.html doesn't work.
    Please ensure your host's network is configured correctly.
    If your ISP or network is blocking the above URL,
    try with another domain name, for example by setting:
    CONNECTIVITY_CHECK_URIS = "https://www.example.com/"    You could also set BB_NO_NETWORK = "1" to disable network
    access if all required sources are on local disk.

上步的问题如何解决???看来没加载镜像。这个得问官网FAE技术了

4. 镜像烧录问题??

SD卡启动镜像,这个根据手册《软件开发指南》弄就行,没遇到什么问题。

烧写 bootloader 到 qspi,这个是有顺序的,烧写顺序不对的话,会看不到输出结果

并且,通过串口烧写要借助官方提供的tera term 工具。
需要注意的是:输入XLS2等命令后,不用按y键,自动进入设置状态,这点是与手册不同的地方,其他按手册操作基本不会出什么问题。

文件系统烧写,也就是把前面SD卡启动镜像,通过Uboot读到emmc里。

还是遇到些问题的,如下图所示:


[    2.812907] Call trace:
[    2.815803] RTW: bDescriptorType=5
[    2.821350]  dump_backtrace+0x0/0x1b0
[    2.821357]  show_stack+0x18/0x68
[    2.823815] RTW: bEndpointAddress=5
[    2.831439]  dump_stack+0xd8/0x134
[    2.831444]  panic+0x174/0x33c
[    2.831454]  mount_block_root+0x238/0x254
[    2.840944] RTW: wMaxPacketSize=512
[    2.844710]  mount_root+0x10c/0x13c
[    2.844718]  prepare_namespace+0x12c/0x16c
[    2.853641] RTW: bInterval=0
[    2.861358]  kernel_init_freeable+0x25c/0x29c
[    2.861367]  kernel_init+0x14/0x114
[    2.865000] RTW: RT_usb_endpoint_is_bulk_out = 5
[    2.869614]  ret_from_fork+0x10/0x34
[    2.869620] SMP: stopping secondary CPUs
[    2.874518] RTW:
[    2.874518] usb_endpoint_descriptor(2):
[    2.879022] Kernel Offset: disabled
[    2.879026] CPU features: 0x0240026,2800a238
[    2.879029] Memory Limit: none
[    2.965696] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2) ]---

只要出现这个问题,就不能输入了,弄齐感芯片,也遇到过一样的问题,是不是一样的解决方法呢?有待验证。

上步的问题,解决估计又得问厂家的FAE了,一直也没联系上,光靠邮件的方式,显然是效率不足的。

5. 总结

弄这些,也差不多费了一天+晚上11点多的时间了,可见,搞linux就是折腾,还真不是会不会的问题,尤其是应用层的编程,就那些东西。关键的还是把底层的一些问题解决掉,上层就好编程些。也许也是第一次接触瑞萨的soc,太不熟练了吧。

你可能感兴趣的:(嵌入式开发零星时间堆记,嵌入式)