前言最新更换了不同的平台进行开发,所以一心在研究和学习中,没有太多的时间发布文章,最近开开始上手了,抽空把之前的工作记录进行总结和发布。从原来的高通和瑞芯微转到了国科和海思联咏,整体的架构不太一致,并且由于需要进行单独库引用,所有很多代码上需要改变结构,但是整体开发流程和分析思路不变,所需要的指令集也大差不差
i2cdetect | i2cdetect -l 列出所有i2c设备 |
devmem | 查看寄存器以及修改寄存器值 |
/home/nt9856x # i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: nvt_i2c f0220000.i2c: i2c transfer timed out(738) jiffies(100)
driver路径 | code/hdal/ext_devices/sensor/sen_gc8613/sen_gc8613.c |
static CTL_SEN_CMD gc8613_mode_1[] = { //version 2.0
//mclk=27Mhz
//mipi data rate=792Mbps/lane ,mipi 4lane
//vts = 2250, frame rate=30fps
//window 3840x2160
//row time=14.8us
//bayer order RGrGbB{0x03fe,1,{0xf0,0x00}},{0x03fe,1,{0x00,0x00}},{SEN_CMD_SETVD, 1, {0x00, 0x0}},{SEN_CMD_PRESET, 1, {0x00, 0x0}},{SEN_CMD_DIRECTION, 1, {0x00, 0x0}},{0x0100,1,{0x09,0x00}},
};
clk | /proc/nvt_info/nvt_clk # ls clk_childless clk_summary max_frequency /proc/nvt_info/nvt_clk # ls clk_childless clk_childless /proc/nvt_info/nvt_clk # cat clk_childless childless pll: pll5 pll12 /proc/nvt_info/nvt_clk # cat clk_summary clock enable_cnt prepare_cnt rate accuracy phase ---------------------------------------------------------------------------------------- periph_clk 2 2 120000000 0 0 cnn_sram_nue 1 1 |
/proc/nvt_info/nvt_clk # devmem 0xF001000C
0x00000105
这里比较独特的是sensor camera有专门的sn mclk分配
/dev # devmem 0xf003000c
0x01AAA555
/proc/nvt_info/nvt_clk # devmem 0xF003004C
0x00000005
一切都正常,但是时钟没有匹配上,最后通过重新配置供电正常,访问从机camera