Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页
    1. Home
    2. livpo
    • Profile
    • Following 0
    • Followers 1
    • my integral 679
    • Topics 5
    • Posts 12
    • Best 2
    • Groups 0

    livpoLV 4

    @livpo

    679
    integral
    2
    Reputation
    15
    Profile views
    12
    Posts
    1
    Followers
    0
    Following
    Joined Last Online

    livpo Unfollow Follow

    Best posts made by livpo

    • Reply: t113每次重启网卡的mac地址都是随机的

      @abcdef 在 kernel menuconfig下面
      QQ图片20220916140833.jpg QQ图片20220916140837.jpg

      posted in D1系列-RISC-V
      livpo
      livpo
    • PhoenixSuit烧录工具四种烧录模式说明

      如图所示,分四种烧录模式分别是:单或多分区下载、保留数据升级、分区擦除升级和全盘擦除升级。

      下面对四种烧录模式进行说明:

      • 单或多分区下载:用户加载固件之后,会从固件信息读取到MBR表的分区信息,然后将每个分区名字显示在UI上提供可选择单或多个分区烧录,若全部不选择,则默认下载物理分区的boot0和boot1。
      • 保留数据升级:此模式仅擦除sys_partition配置的分区,但不包含udisk或user_data分区的数据。
      • 分区擦除升级:此模式仅擦除sys_partition配置的分区,与“保留数据升级”相反,擦除包含udisk或user_data。
      • 全盘擦除升级:顾名思义,就是将flash进行初始化,所有的数据将会被擦除

      a0d87316ca1242fb85d34709b0548588.jfif

      posted in 其它全志芯片讨论区
      livpo
      livpo

    Latest posts made by livpo

    • Reply: T113-s3 Register I2S (WM8782) ADC on ALSA

      @vvpnet Do you mean to look for paid consultation?

      posted in 其它全志芯片讨论区
      livpo
      livpo
    • Reply: T113交叉编译QT libudev.so.1报错,但路径下有该文件

      参照这里 :https://blog.csdn.net/qq_28877125/article/details/127098767
      把udev关掉了,我的这个配置是yes,关掉就可以了

      QQ图片20221209155016.jpg

      posted in 其它全志芯片讨论区
      livpo
      livpo
    • Reply: T113交叉编译QT libudev.so.1报错,但路径下有该文件

      @haaland
      路径应该是对的,库都在这里面
      QQ图片20221209153857.jpg

      编译出来的库1.6.3,这个183会不会是版本号?
      如果183是版本号,那估计就是版本低了
      QQ图片20221209153915.jpg
      QQ图片20221209153904.jpg

      posted in 其它全志芯片讨论区
      livpo
      livpo
    • T113交叉编译QT libudev.so.1报错,但路径下有该文件

      芒果的T113,交叉编译QT报错,找不到libudev.so.1,但是路径下文件实际是存在的,初步怀疑是udev的版本不对

      QQ图片20221209152528.jpg
      QQ图片20221209152545.jpg

      posted in 其它全志芯片讨论区
      livpo
      livpo
    • Reply: (送开发板~)看!是芒果派,他好像在玩一种很新的开发板

      真的好想要芒果派呀

      https://twitter.com/GLGH_/status

      https://www.aliexpress.us/item/3256804695027049.html

      Fq_6QqkaUAIXVoN.jpg

      posted in 公告
      livpo
      livpo
    • 在MQ-R(F133)上 进行全志Melis-4.0(rt-thread内核)环境搭建与初步编译介绍

      什么是Melis?

      Melis是全志科技自研的一套rtos系统。自全志科技创建以来,该系统就已经问世,并持续抗战了近十年,其主要应用其自家的F系列芯片产品上,在MP3与老人机非常流行的时代,该系统配合着其F系列的芯片,真的是能抗能打,早在2012-2013年的时候,Melis的装机量就已经过亿,但因为其属于自研系统,全志科技并没有将其开源,导致虽装机量很多,但是很少人知道。
        Melis之所以能抗战那么久,或者说全志科技之所以能在那个芯片行业并不出彩的年代坚持下来,我觉得主要归功于其F1C100s/F1C200s这个代的芯片。这款芯片差不多是十年前的产品,但是因为其具有很强的编解码能力,以及异于常人的性价比,现如今依然活跃在各个微媒体市场。
        Melis经过了多个迭代,现如今配合着其最新推出的F133(risc-V)芯片,推出了最新的Melis4.0系统,并使用了更多人熟悉的RT-thread内核,在GitHub上,部分进行了开源,引领广大开发爱好者参与进risc-V的生态建设中。最近想用F133做一点有趣的开发,因此也开始研究Melis4.0。
        个人觉得,通过学习melis系统,可以让学习者更了解系统的构成,什么是系统调用?系统是如何加载模块的?什么是BSP?等,对于学习者来说,是非常不错的入门选择。

      开发环境

      • Ubuntu22.04虚拟机
      • MQ-R(F133) 芒果派开发板

      代码下载

      GitHub的项目地址如下:

      https://github.com/Tina-Linux/d1s-melis
      

      仓库的简介提示,如果需要编译代码,需要手动下载一下相应的工具链并将工具链放在对应目录里。

      工具链地址如下:

      https://github.com/Tina-Linux/d1s-melis/releases
      

      建议直接下载这个,因为工程中默认的也是这个

      866b889317404ca1b2f9ddc9e2eec3a7.png

      代码下载好后,解压。并将下载好并解压好的工具链放在代码的toolchain目录下。(我这里将原项目目录更名为了source,并不影响其它)

      59aa7ebbbda34e6b8e9e03fca377ef1b.png

      一切准备就绪后,即可开始编译。如果是新的系统,建议先安装一些依赖库,后续可能会用到。

      sudo apt install autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
      

      编译

      环境变量

      在代码编译之前,我们可能需要设置很多环境变量(lunch 、croot、pack等),因为每一次的环境变量都是比较固定的,因此,项目中,将这些初始化环境变量的操作,都整合成了两个脚本,分别是"envsetup.sh"和“melis-env.sh”。因为melis-env.sh最终会自动调用“envsetup.sh”,因此,我们只需要执行“melis-env.sh”即可

      #初始化环境变量
      melis-env.sh
      

      初始化环境变量后,我们需要通过“lunch”来选择我们需要编译的项目,lunch是通过扫描projects文件夹下的文件夹,进行识别一共有多少套方案,lunch选中后,系统的编译参数、打包参数,运行参数等,就会使用对应方案文件夹中的配置文件。(具体为什么叫lunch,原因不详,或许本应该是launch?学习英语任重道远!)

      对应方案

      #通过lunch来选择要编译的项目
      lunch
      

      238c5f319f3f4294bd88fb32c7027bdb.png

      因为我使用的是麻雀的开发板,因此我这里选择3.

      编译

      以上流程走完后,原工程是可以直接make的,但是第一次编译,或者选择了不同方案后编译,建议都是要clean一下,重新lunch一次,避免环境不干净。

      #先clean一下
      make clean
      
      #再把方案清一下
      make distclean
      
      #重新lunch,再选择一次方案
      lunch
      
      #执行make操作
      make
      

      注意,如果你在kconfig中,增加了某些选项,但是没有在deconfig中增加对应的配置,直接make可能会报错。需要通过make menuconfig来重新生成默认的编译配置。

      #通过make menuconfig选择编译参数
      make menuconfig
      

      注意:curses.h: No such file or directory ,那是因为环境没弄好,“sudo apt install libncurses5-dev” 即可

      2326e51f410b4585ac031a1e9fb66b74.png

      第一次编译,直接保存即可。配置默认是保存在当前目录下的 “.config”文件中,最好不要改文件名。如果不想每次编译都make menuconfig,那么就将当前的“.config”的内容,更新到对应方案目录下的deconfig文件中。比如我要改的话,那我就需要将“.config”文件中的内容,全部替换到**“projects/d1s-mq/configs/deconfig”**文件中,这样每次lunch之后,系统默认来这里来拿编译参数。

      以上完成后,就可以直接make了,如果没改过任何东西的话,是可以直接编译通过的。如果不通过,可能要检查一下自己的环境是否安装完善,勤加百度,即可解决问题。

      打包

      编译成功后,可以通过pack,将编译好的文件,全部打包成一个.img的固件。
      因为固件可能是用于卡烧录的,用于nor烧录的,用于nand烧录的,根据烧录方式的不同,需要搭配不同的参数,默认是打包生成nor烧录的固件。

      #通过pack指令,打包生成固件(默认生成nor固件)
      pack
      
      #生成nand烧录固件
      pack -a nand
      
      #生成卡烧录的固件
      pack -a card
      

      最终的固件将会生成在“out/对应方案/”目录下。

      注意:如果出现如下错误:

      78a656727f054bd08345a4376815e359.png

      这个时候,打包是没有成功的,cd到对应目录下,查看文件夹下,又是存在这个dragon文件,有点神奇。其实是因为dragon这个程序是在32位机器上编译出来的,这是32位的程序,在64位的Ubuntu中运行需要提前安装32位的库。

      请执行操作:

      sudo dpkg --add-architecture i386
      sudo apt-get update
      sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 -y
      sudo apt install lib32z1 -y
      

      重新pack后,没有提示,打包成功。

      注意事项:

      • source melis-env.sh 的操作仅在当前终端有效,新开终端,或者关闭了终端后,需要重新source一下,才能进行下面的操作。

      • lunch操作与source操作一样,都是只对当前终端有效,每次打开新终端,都需要进行一次source、lunch。

      小贴士:

      source了之后,可以使用各种快捷调整指令,方便开发

      croot   回到项目根目录
      ckernel   跳转至kernel文件夹
      cmodoule  跳转至模块文件夹
      。。。(更多操作,可以看环境脚本“envsetup.sh”中的function有哪些)
      

      原文链接:https://blog.csdn.net/qq_43280079/article/details/127189338
      作者@waxly-

      posted in D1系列-RISC-V
      livpo
      livpo
    • PhoenixSuit烧录工具四种烧录模式说明

      如图所示,分四种烧录模式分别是:单或多分区下载、保留数据升级、分区擦除升级和全盘擦除升级。

      下面对四种烧录模式进行说明:

      • 单或多分区下载:用户加载固件之后,会从固件信息读取到MBR表的分区信息,然后将每个分区名字显示在UI上提供可选择单或多个分区烧录,若全部不选择,则默认下载物理分区的boot0和boot1。
      • 保留数据升级:此模式仅擦除sys_partition配置的分区,但不包含udisk或user_data分区的数据。
      • 分区擦除升级:此模式仅擦除sys_partition配置的分区,与“保留数据升级”相反,擦除包含udisk或user_data。
      • 全盘擦除升级:顾名思义,就是将flash进行初始化,所有的数据将会被擦除

      a0d87316ca1242fb85d34709b0548588.jfif

      posted in 其它全志芯片讨论区
      livpo
      livpo
    • Reply: t113每次重启网卡的mac地址都是随机的

      @abcdef 在 kernel menuconfig下面
      QQ图片20220916140833.jpg QQ图片20220916140837.jpg

      posted in D1系列-RISC-V
      livpo
      livpo
    • Reply: t113每次重启网卡的mac地址都是随机的

      @dort91011 是的,需要将md5加到内核里

      另外还有一个问题就是#define sunxi_get_soc_chipid(x) {}这里获取id的函数是空的,
      QQ图片20220915164600.jpg

      然后参考了一下全志其他的代码是用到了sunxi-sid.c里的,然后加了一下这个头文件,就可以获取到chipid了

      QQ图片20220915164605.jpg

      这样就没有上面的报错了

      posted in D1系列-RISC-V
      livpo
      livpo
    • t113每次重启网卡的mac地址都是随机的

      请教下各位大佬,t113每次重启网卡的mac地址都是随机的,跟了内核后发现是这里失败了crypto_alloc_ahash

      QQ图片20220915164531.jpg

      内核打印Failed to alloc md5,错误内容如下

      QQ图片20220915164525.jpg

      有人遇到过这个问题吗

      posted in D1系列-RISC-V
      livpo
      livpo