MTK开发之—客制化DCT工具使用指南
简介
为了方便开发人员可视化配置gpio,MTK提供了DCT工具,全称是Driver Customization Tool,该工具导入dws文件来产生驱动代码,它是个exe可执行程序,目前只支持在windows下运行,在ubuntu下运行可借助于wine工具或装windows虚拟机。
工具及代码具体路径
dct工具在:vendor\mediatek\proprietary\bootable\bootloader\preloader\tools\dct下
coden.dws文件在: vendor\mediatek\proprietary\bootable\bootloader\lk\target$(project)\dct\dct下
Bootloader preloader、 lk 、linux kernel 各有对应的dct工具生成的配置dws文件, 一般只需修改其中一份(lk),然后复制即可。
编译后生成的代码在:out\target\product\lkk8163_tb_m\obj\BOOTLOADER_OBJ$(project)\inc下,配置有没有生效可以看这个目录下的文件,比如gpio配置生成的文件cust_gpio_boot.h
注:工具代码流程
1)根据原理图 产生codegen.dws
2)编译时用根据codegen.dws自动 产生代码
工具使用方法
双击DrvGen.exe 运行,这是旧版的dct工具,如下图:

点击打开,选择对应的codegen.dws文件,然后点Edit, 弹出下图:


以gpio23为例,该pin用于触摸屏的中断,所以EintMode一栏打勾,VarName1选GPIO_EINT_CHG_STAT_PIN. 该名字代码里会用到。然后切换到EINT tab, 编辑EINT10, Eint Var 选 TOUCH_PANEL,其它debounce time,polarity,Sensitive_Level,Debounce en分别对应中断的debounce去抖时间,中断极性,中断电平,debounce使能等参数,如下图所示:

以gpio 26为例,该pin做普通gpio, 用于下位机的复位控制,所以def mode一栏选gpio26,即开机后默认做gpio功能,m0-m7代表该pin能够复用的功能,如果程序运行中用到不同的功能,对应的功能mode在dct里都应该打勾,当然同一时刻只能是其中一种。注意不做中断,EintMode不要打勾。
再介绍剩下的几个tab, ADC 是用于配置ADC的用途,目前暂时不需改动。 KEYPAD页用于配置按键映射关系。PMIC是电源管理配置。剩下的tab一般改动很少暂且不提。
编辑完后,点确定,然后点击Save.保存,修改便会保存到codegen.dws文件里。其它按钮如Gen code不要轻易点,否则编译可能出错。
注意:
1.代码编译的时候会有工具解析codegen.dws文件,生成一些.h头文件:out\target\product$(project)\obj\BOOTLOADER_OBJ$(project)\inc目录下。
2.可以通过make lk编译lk,就是编译little kernel,速度快,其中就包括了将codegen.dws文件生成对应的代码。
3.有些情况编译不会将老的文件覆盖,所以编译之前可以先将生成的文件干掉,比如将BOOTLOADER_OBJ目录干掉,然后编译。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)