• 调试amligic m6 mx mid板子总结


    人硬件知识可以说是空白,接到调试amloigc m6 mx 板子的任务,心里悬的很,现在工作总算告一段落,做下总结:

    了解的硬件知识:

    1、gpio 口:

    General-Purpose Input /Output Ports  通用IO端口,造作GPIO口需要和芯片对应的文档。

    首先说下 amlogic 的GPIO 被分为 A 、B 、C、D、E、X、Y、Z、AO   这几个段

     

    gpio 口的控制:

    1、单个gpio口控制。

    根据文档 就是设置某个寄存器的某个 bit  [amlogic 里面有 bit+23 ... 的规则计算地址]

    粘贴上 gpio.h 中的函数操作

    #define gpio_status_in    true
    #define gpio_status_out   false
    int32_t gpio_set_status(uint32_t pin,bool gpio_in);  //设置是输出还是输入模式


    /**
     * GPIO out function
     */
    int32_t gpio_out(uint32_t pin,bool high);  //在输出模式下 设置 输出是 hight or low

    复制操作的还没看懂,待续.....

    1、-------------------------------------------------------------------

    #error 11111111111111

     

    可以调试宏:如果代码走这里 编译的时候 就会出错。

     

    2、.so 文件可以用 vi 打开 并find 字符串。

     

    3、__FILE__   __FUNCTION__ __LINE__ 可以打印出文件名,函数名,行号

    2、i2c:I平方C 都这么读,就知道是个总线,显示屏和触摸板和摄像头都可以挂到该总线上,I平方C 会分为几个组,没个组中有几个设备,每个设备在总线中都一个唯一的ID

     

    3、GPIO的上拉电阻的作用:上拉 提高阵脚输出电压   下拉:应该是 降低电压

    软件遇到的问题:

    1、公版是 1G 内存,我们开发板是512 ,只调整了Uboot的设置,烧写后,能运行但是10次有9次 中途出现死机,苦等两天后,换成 1G 的内存,估计调整内存大小不止uboot一个地方。

    2、调整显示屏参数,需要根据屏的文档来配置相应的参数,分辨率和一个大数组,全是 223 225 一连串头晕的数字,技术支持搞定的。

    3、调试触摸板 也是在common/customer/board/board-***.c 文件中配置i2c 及参数,触摸板原厂的人给搞定的数组的参数。

    4、摄像头还没搞定,也挂着I2C上的设备,需要在bord-****.c配置信息,需要摄像头原厂的支持,如果amlogic调试过的摄像头会很快能搞定,总之 就是配置参数。

     

     //-----------------------

     

    1、选择 mutilmedia   usb uvc -----Video capture adapters --- v4l usb -- usb video class (UVC)驱动---------识别USB摄像头

     

    2、修改Kconfig 添加光感程序的驱动,准备利用光感程序来编写酒精传感器的程序。

     

    3、amlogic\common\vmlinux  包含了所有的打印信息

     

    4、obj-$(CONFIG_LS_GL3526) += ls-gl3526.o      // 在.config 中配置了 CONFIG_LS_GL3526=y 才会编辑 ls-gl3526.o

     

    obj-$(CONFIG_LIGHT_SENSOR)  += lightsensor/  //在 .config 中配置了 CONFIG_LIGHT_SENSOR 才会加载 lightsensor

     

    obj-$(CONFIG_AM_SENSORS) += sensors/            //在 .config 中配置了 CONFIG_AM_SENSORS 才会加载 sensors 模块

     

     

    问题:改动android系统后,每次都编译文件系统,再打包,实在麻烦,   可以到 修改的目录 有 Android.mk 的地方进行 mm 只要关注下mm 生成的的东西 直接 copy 到板子系统相应的目录下(但是不能保证一定可行,如果不行 只能乖乖的编译文件系统)。

     

    编译后的文件,打包的时候一定使用吗? 不一定  山寨的做法会从别的目录直接包生成的.so copy过来,这样打包用的.so 并不是我们改动的文件,我们该怎么办?

     

    办法1:比较板子上文件大小和我们编译出 文件的大小,如果大小不一样,可能不是我们生成的文件,而这个文件从哪里弄来的那 ,可以在整个目录下搜索 同名的文件,找出 和使用文件大小一样的文件(他在其他工程里面都不要惊讶---有时候就这样山寨)。

     

    办法 2:分析 makefile 从 make v=1 打印出 所有的执行命令   你会找到 文件从哪里cp 来的

     

    串口调试:

     

    如何测试串口是否能够正常工作:

     

    首先一个正常使用的串口(a),一个待测试的串口(b)。

     

    开2 个CRT终端,a终端   执行二进制的串口测试程序(测试程序设置波特率等后,直接操作串口b),在串口B的CRT会有相应的输出。

  • 相关阅读:
    java设计模式之单例模式
    nginx搭建反向代理服务器详解
    java利用MultipartRequest的getFileName方法不能得到原文件名问题
    window.onload 和doucument.ready执行顺序
    Access control allow origin 简单请求和复杂请求
    bootstrap栅格系统中同行div高度不一致的解决方法
    C# web Api ajax发送json对象到action中
    winserver 08 64位安装sql05 64位提示asp版本注册
    MVC 添加Area
    SQL添加维护 计划失败
  • 原文地址:https://www.cnblogs.com/liulaolaiu/p/11744676.html
Copyright © 2020-2023  润新知