mstar

mstar gdb调试

放肆的年华 提交于 2019-12-04 00:02:05
当进程崩溃出现coredump提示时,可以利用gdb来定位出错函数。 首先,把core_dump.XXX.gz文件从设备上拷贝出来,放到编译环境下,另外,还要把代码目录下的symbols文件夹也拷贝到编译环境下,因为程序用到很多库,很多时候出错是在库函数里,所以一定要拷贝当前编译时产生的symbols文件夹,android一般在out/target/product/下,Supernova一般在projects/目录下。 先解压core_dump.XXX.gz文件,然后用gbd命令调试它,如下命令: /opt/toolchain/mstar/arm-2012.09/bin/arm-none-linux-gnueabi-gdb -core core_dump.1029/Coredump.gz /opt/toolchain/mstar/arm-2012.09/bin/arm-none-linux-gnueabi-gdb就是刚才找到的命令工具,-c或-core是指调试core文件,后面是文件路径。回车后,弹出的命令行(gdb)就是调试命令行了。 (gdb) backtrace命令是查看当前线程函数栈回溯,简写是bt。 如果bt后都是问号,看不到函数名,说明运行到动态库里出错了。 用file命令载入调试的文件,假如提示是由/applications/bin/tvos产生的core

mstar 平台I2C 配置

旧街凉风 提交于 2019-12-03 23:52:23
芯片的pin 脚可以用作不同的功能,总结一句就是外设进行状态和数据交换。 最常用的是作为GPIO,设置为输出模式时,通过高低电平来控制一些外围设置; // 如LED,屏的电源,背光的开关,功放的静音等等。 除了控制设置之外,还需要和外部设置传输数据。 pin 作为GPIO 设置为IN时,是获取外设的高低来判断外设的状态,最常用的一些source 通道的detect,及一些wakeup 功能。 pin 作为SAR 口,获取ADC值; // 如按键板,参照“mstar平台SAR口使用” pin 作为UART / SPI /SD 口; pin 作为I2C 口; 一般来说,大部分有特殊功能的Pin脚其实都可以作为GPIO使用,但是当我们将其配置成特殊功能后,就不能同时配为GPIO。 所以当我们发现某个Pin脚我们想将其配成GPIO后,却没办法改变它的高低状态时,就要留意一下该Pin脚是否已经被误配为特殊功能了,这时就需要我们先DISABLE 掉这个特殊功能之后,才能设置成GPIO及其状态设定。每个chip有对应一个init GPIO配置,BD_MST{$Board}.h, drvpadconf.c. 标准GPIO口配置 总共时钟状态 #define GPIO_NONE 0 // Not GPIO pin (default) #define GPIO_IN 1 // GPI #define