精华内容
下载资源
问答
  • Imax B6 clone unsupported

    2020-12-26 01:37:59
    <p>I flashed my imax b6 clone with the correct version of cheali-charger. It's powered by a ATmega32A and it did flash without any errors. I also verified the flash/eeprom afterwards and it looked...
  • IMAX B6飞行状态 IMAX B6是一款充电器,可通过其串行输出提供有关当前工作状态的信息。 仍必须在设置中激活串行输出(将“ USB / Temp Cut-Off”设置为“ USB Enable”)。 从左(电源单元的连接器)到右的引脚分配...
  • IMAX6 VPU解码流程

    2020-12-31 17:43:04
    文章目录前言一、IMAX6 硬解码官方流程二、使用步骤1.初始化2.填充数据总结 前言 记录IMAX6 调用芯片硬件解码功能开发过程,方便自己,方便他人 一、IMAX6 硬解码官方流程 根据其官方文档,流程原文如下: 1. ...


    前言

    近期在做JPEG图像解码相关功能开发,记录IMAX6 调用芯片硬件解码功能开发过程,方便自己,也方便他人


    一、IMAX6 硬解码官方流程

    根据其官方文档,流程原文如下:

    1. Call vpu_Init() to initialize the VPU.
    2. Open a decoder instance by using vpu_DecOpen().
    3. To provide the proper amount of bitstream, get the bitstream buffer address by using vpu_DecGetBitstreamBuffer().
    4. After transferring the decoder input stream, inform the amount of bits transferred into the bitstream buffer by using
    vpu_DecUpdateBitstreamBuffer().
    5. Before starting a picture decoder operation, get the crucial parameters for decoder operations such as picture size,
    frame rate, and required frame buffer size by using vpu_DecGetInitialInfo().
    6. Using the returned frame buffer requirement, allocate the proper size of the frame buffers, and convey this data to i.MX
    6 VPU by using vpu_DecRegisterFrameBuffer().
    7. Start a picture decoder operation picture-by-picture by using vpu_DecStartOneFrame().
    8. Wait for the completion of the picture decoder operation interrupt event.
    9. Check the results of the decoder operation using vpu_DecGetOutputInfo().
    10. After displaying nth frame buffer, clear the buffer display flag by using vpu_DecClrDispFlag().
    11. If there is more bitstream to decode, go to Step 7, otherwise go to the next step.
    12. Terminate the sequence operation by closing the instance by using vpu_DecClose()
    

    总结一下,解码的主要流程有:

    1、初始化模块
    2、打开解码器
    3、填充数据(输入一部分待解码数据)
    4、根据先前填充的数据,解码器返回参数(如:解码图像长宽,输出解码内存块个数等信息)
    5、根据获取到的参数注册内存参数(告诉解码器解码后的数据要放哪里)
    6、填充数据(没错还要填充数据),(这一步开始就可以开始解码了)
    7、开始解码
    8、获取解码后的数据(第一次解码出来的图像为第3步输入图像的解码数据,第6步输入的需要下一次调用解码才能输出)
    9、如果需要解码其他图像,则重复第6步骤继续解码;
    10、解码完成,关闭解码器;
    

    二、使用步骤

    1.初始化

    调用vpu_Init(),初始化VPU
    调用vpu_DecOpen()打开解码器,
    *注意!!!*打开解码器前需要调用IOGetPhyMem()IOGetVirtMem()申请内存空间,用于存放待解码数据;
    

    2.注册解码输出内存

    • 填充数据
      打开解码器后,还需要配置解码后图像的存储空间,基于此系统要求先输入一下些原始数据;主要流程如下
    1vpu_DecGetBitstreamBuffer(); //获取输入缓冲区地址及剩余可填充的空间;
    2、根据获取到的数据地址信息,将待解码数据拷贝到目标地址
    2vpu_DecUpdateBitstreamBuffer(); //数据填充完毕后,通知系统数据已更新
    
    • 获取参数

      通过 vpu_DecGetInitialInfo() 函数获取数据输出的相关参数。需要注意的是,此次输入的原始数据会在接下来调用解码函数接口时被解码。

    • 注册内存

      根据前一步获取的参数,调用IOGetPhyMem()、IOGetVirtMem()申请内存空间,并将申请到的内存地址赋值给FrameBuffer结构体变量。通过vpu_DecRegisterFrameBuffer() 注册。

    3.开始解码

    解码可以简单分为3步,1、数据填充 2、等待解码完成 3、获取数据;具体流程如下:

    • 数据填充
    1vpu_DecGetBitstreamBuffer(); //获取输入缓冲区地址及剩余可填充的空间;
    2、根据获取到的数据地址信息,将待解码数据拷贝到目标地址
    2vpu_DecUpdateBitstreamBuffer(); //数据填充完毕后,通知系统数据已更新
    
    • 解码
    1vpu_DecStartOneFrame(); 开始解码
    2、检查vpu_IsBusy()状态,非忙时即解码完成
    3、调用vpu_WaitForInt() 函数等待解码完成
    4vpu_DecGetOutputInfo(); //获取解码输出索引,只有调用该接口,系统才会在下一次解码下一帧图像
    

    获取数据
    从 第二步中- 注册内存的虚拟地址中直接拷贝已解码的数据
    测试代码段

    	ret = vpu_DecStartOneFrame(handle, decparam);
    	if (ret == RETCODE_JPEG_BIT_EMPTY) {
    		continue;
    	}
    	is_waited_int = 0;
    	loop_id = 0;
    	while (vpu_IsBusy()) {
    		if (loop_id == 50) {
    			vpu_SWReset(handle, 0);
    		return FALSE;
    		}
    		vpu_WaitForInt(100);
    		is_waited_int = 1;
    		loop_id ++;
    	}
    	if (!is_waited_int)
    		vpu_WaitForInt(100);
    	ret = vpu_DecGetOutputInfo(handle, &outinfo);
    

    例程中有调用vpu_WaitForInt() 函数等待解码完成。官方文档给的解释是,解码需要时间,在这当中你可以通过调用这个函数等待解码完成,同时你可以去做其他任务;这个函数具体的作用目前我还未弄明白,有看懂的童鞋烦请指教一二;
    官方原文如下

    Picture decoder operations take a certain amount of time, and the application can complete other tasks while calling vpu_WaitForInt() to wait for the completion of the picture decoding operation, such as display processing of the previously decoded output. The application can use two different schemes for detecting the completion of the picture decoding operation: polling a status register or waiting for an interrupt signal. When the application uses the polling scheme, the application checks the BusyFlag Register of the BIT processor. Calling vpu_IsBusy() gives the same result.

    总结

    VPU硬解码大致流程总结如下:
    初始化-申请内存用于存放待解码数据-申请内存用于存放解码后数据-注册内存-存1帧或多帧入待解码数据-获取解码相关信息-循环解码(填入数据-解码-获取数据)-解码完成;
    需要注意的是,注册内存后存入的数据将在后续正式解码的时候被解码,也就是说在循环解码时,解码后的数据是之前未被解码的数据,而非本次被填入的数据;
    CSDN上有VPU相关的编解码源码,我的工程也是根据这份源代码裁剪而来的,非常感谢原作者;链接如下:
    mxc_vpu_test

    展开全文
  • FrSky Imax B6迷你充电器的数据记录器和控制器。 此处的python文件提供了三个单独的主模块和几个支持模块,以监视和/或控制FrSky Imax B6 mini。 请注意,关于Imax B6和Imax B6迷你充电器的输出端口一直存在混淆。...
  • support for imax b6 60w

    2021-01-01 02:43:29
    <div><p>i put the firmware for imax b6 clone on my charger and it work just fine after calibrating it but the charger i put it on is a 60w charger with charge current max of 6amps the firmware only ...
  • IMAX6软件开发环境搭建,详细,实用,欢迎参考!
  • imax b6 as the power supply

    2020-12-31 11:17:22
    you could implement in the future ( in firmware ) the possibility of using imax b6 (clone) as the power source to the stabilization and the ability to control the robots during both voltage and ...
  • imax b6ac

    2020-12-28 13:10:51
    <div><p>hi i need help. just re flashed my imax charger and all i get is squares in first rov and some beeps but nothing else my hardvare can be seen in the picture attached ...
  • IMAX B6AC锂电池平衡充电器,是淘宝上最常见的大学控制工程实验室用的锂电池充电器,由于网上官网手册排版混乱不便于新手的使用,特此整理了一份,供大家参考。该文件主要针对最常用的锂电池的充电,其他电池并未...
  • ve tried to flash an imax B6 original using a USBASP interface. I have first made the backup, and when asked if I want to restore the fuses I gave yes. I have after flashed the latest firmware and ...
  • 文件是IMAX6Q 视频编解码Demo程序,基于IAMX6平台,包含部分英文注释!
  • imax b6 lipro balance charger 80w I do not find it in the doc. on the top of the pcb I have 7 pins instead of 6 Someone already seen this one thank you</p><p>该提问来源于开源项目:stawel/cheali-...
  • IMAX B6电路原理详解

    千次阅读 2016-04-25 18:23:16
    IMAX B6电路原理详解 - 本文出自“手电大家谈”, 原帖:http://www.shoudian.org/thread-447417-1-1.html
    IMAX B6电路原理详解

    - 本文出自“手电大家谈”,

    原帖:http://www.shoudian.org/thread-447417-1-1.html

    展开全文
  • traces near ISP port look like the same as iMAX original. Maybe they really shipped me an revised iMAX original due to low stock? http://imgur.com/a/ImFIZ</p> <p>EDIT: confirmed, same connection as ...
  • 挂载:mount -o vers=4 192.168.30.108:/home/penuel/linux_imax6/workdir /home/root/workdir 取消挂载:umount /home/root/workdir

    挂载:mount -o vers=4 192.168.30.108:/home/penuel/linux_imax6/workdir /home/root/workdir

    取消挂载:umount /home/root/workdir

    展开全文
  • https://blog.csdn.net/u011784994/article/details/79869535 SaberSD=>imax6Q 开发板 lunch sabresd_6dq-user 修改如下: https://blog.csdn.net/longcheng217/article/details/88950693

    https://blog.csdn.net/u011784994/article/details/79869535 //Ubuntu搭建imx6 android4.4.3编译环境及源码下载总结

    SaberSD=>imax6Q 开发板
    lunch sabresd_6dq-user
    修改如下:
    https://blog.csdn.net/longcheng217/article/details/88950693 //mkfs.ubifs/hashtable/hashtable_itr.c:42:1: error: redefinition of ‘hashtable_iterator_key’

    展开全文
  • imax6ull开发板LED点灯 思路:在完成linux内核的编译和移植后,通过现有的LED源码(内核源码已经下载),实现点灯尝试。 流程:1.在ubuntu中编译内核模块,并将内核模块安装到完成挂载的目录下备用。(注意:编译...
  • The pinout of the ISP header is the same as the original imax B6. <p>The device is sold as a "80W" charger, but as far as I can tell the binaries provided for download for the "original&#...
  • <p>For the last 10 days or so i have been extensively and happily using my imax b6 80W charger with cheali-charger-Dual-Power-B6AC-80W-RC_2.00-e10.3.12-20160613_atmega32.hex. During this time i have ...
  • m have flashed original IMAX B6 with stawel/cheali-charger and have issues with PC connection. It works fine on 9600 and 19200, but on 38400++ only garbage is recieved. I have logic analyzer ...
  • <div><p>i have imax b6 clone pcb "2017.06.09 b680W v1.0" on atmega 32a with note additional op-amp the board is similar to imaxB6-50W-BOA6-nuvoton-M0517 I used different for atmega32, but does...
  • IMAX6Q+DM9000+DP83640设计原理分享

    千次阅读 2017-12-15 12:13:47
    概况:采用飞思卡尔IMAX6Q作为主芯片,主芯片总线外接MAC芯片和PHY芯片实现网络功能以及通过专用的物理层芯片实现1588时钟同步功能。本节只介绍几本原理,具体的驱动开发流程及1588时钟同步协议开发移植流程暂不分享...
  • 学习的是韦东山老师的IMAX6ULL开发板,小白第一次接触开发板,在此记录自己的学习过程。 (一)准备工作 下载韦东山老师的学习资料、工具和源码。 后期学习和开发所需的工具和软件。 (二)安装虚拟机、配置Ubuntu ...
  • imax6 rild.c

    2014-01-23 15:35:44
    FreeScale, I.MAX6,3G移植用到的rild.c

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 205
精华内容 82
关键字:

imax6