基于安霸平台的软件管理一利用menuconfig管理定制化的客户软件.docx
- 文档编号:30705074
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:17
- 大小:178.04KB
基于安霸平台的软件管理一利用menuconfig管理定制化的客户软件.docx
《基于安霸平台的软件管理一利用menuconfig管理定制化的客户软件.docx》由会员分享,可在线阅读,更多相关《基于安霸平台的软件管理一利用menuconfig管理定制化的客户软件.docx(17页珍藏版)》请在冰豆网上搜索。
基于安霸平台的软件管理一利用menuconfig管理定制化的客户软件
基于安霸平台的软件管理
(一)
--------利用menuconfig管理定制化的客户软件
前言:
此方法目的是为实现一版程序代码可以服务于多个客户,且软件只维护一版程序代码。
从而使得程序的维护、BUG的更新、不同客户软件的管理更轻松、更高效。
此种方法适合客户群类型要求:
①各客户软件设计架构一致,
②各应用功能模块化相对独立性强
③软件架构已经定型。
即软件架构及功能模块已满足产品量产。
一、在menuconfig中添加选项CustomizationOptions(客户定制化选择项)。
1.1里面包含中性(Neutral)标准软件功能表、增强/特殊功能表、客户A、客户B、客户C。
其中标准软件功能表、增强/特殊功能表构成公司中性的标配软件和高配软件。
客户A、客户B、客户C是分别针对A、B、C三个客户的具体要求配置的软件。
如图1所示。
图1.1
1.2与只对应的软件代码编写操作:
在system/config/prkapp.config.in增加代码:
source../../config/prkapp.customization.in;
然后在system/config文件夹中添加文件:
prkapp.customization.in
如图1.2所示
图1.2
二、编写prkapp.customization.in文件的代码。
2.1编写标准功能列表代码。
如图2.1所示。
图2.1
/********************2.1代码部分**************start***************/
menu"NormalFunctionList(Neutral)"
comment"NOTE:
Productnormalfunctionoptions(neutral)"
configCONFIG_VIDEO_RESOLUTION
bool"VideoResolution"
help
SelectVideoResolution1920x1080".
SelectVideoResolution1280x720".
configCONFIG_IMAGE_RESOLUTION
bool"ImageResolution"
help
SelectImageResolution2.0M".
SelectImageResolution0.9M".
configCONFIG_FLICKER
bool"Flicker"
help
SelectFlicker60HZ".
SelectFlicker50HZ".
configCONFIG_VIDEO_SPLIT_TIME
bool"VideoSplitTime"
help
SelectVideoSplitTime10min".
SelectVideoSplitTime5min".
SelectVideoSplitTime3min".
SelectVideoSplitTime1min".
configCONFIG_POWER_SAVE_TIME
bool"PowerSaveTime"
help
SelectPowerSaveTime10min".
SelectPowerSaveTime5min".
endmenu
/********************2.1代码部分**************end****************/
2.2编写特殊功能列表代码。
如图2.2所示。
图2.2
/********************2.2代码部分**************start***************/
menu"SpecialFunctionList"
comment"NOTE:
ProductSpecialcustomizationfunctionoptions"
configCONFIG_CUSTOMER_GPS
bool"CustomerGPS"
help
SelectCustomerGPS.
configCONFIG_ENABLE_CAR_STAMP
bool"CarStampinvideo"
help
SelectEnableCarStampinvideo.
configCONFIG_ENABLE_CAR_NUMBER
bool"CarNumber"
defaultn
dependson(CONFIG_ENABLE_CAR_STAMP)
help
Selectenableeditcarnumberfunction.
endmenu
/********************2.2代码部分**************end***************/
2.3客户定制化功能代码编写。
如图2.3所示。
图2.3
/********************2.3代码部分**************start***************/
menu"Customer_a"
menu"LCDdevice"
configCONFIG_LCD_DUMMY
bool"LCD:
DUMMYpanel"
help
SelectTDUMMYLCD".
configCONFIG_LCD_A020BL01_051
bool"LCD:
AUO2.004:
3panel"
help
SelectAUOLCD2.00"(RGB640x240A020BL01UPS051).
SelectAUOLCD2.00"(RGB360x240A020BL01NTSC).
SelectAUOLCD2.00"(RGB360x288A020BL01PAL).
configCONFIG_LCD_A021BL01
bool"LCD:
AUO2.1216:
9panel"
help
SelectAUOLCD2.12"(RGB720x240A021BL01).
configCONFIG_LCD_A024DL01
bool"LCD:
AUO2.404:
3panel"
help
SelectAUOLCD2.40"(RGB320x240A024DL01NTSC).
configCONFIG_LCD_A025DL01
bool"LCD:
AUO2.504:
3panel"
help
SelectAUOLCD2.50"(A025DL01).
SelectAUOLCD2.50"(RGB360x240A025DL01NTSC).
configCONFIG_LCD_TD024THEA1
bool"LCD:
TPY2.404:
3panel"
help
SelectToppolyLCD2.40"(RGB320x240TD024THEA1).
configCONFIG_LCD_TD030WHEA1
bool"LCD:
TPY3.004:
3panel"
help
SelectToppolyLCD3.00"(RGB360x240TD030WHEA1).
configCONFIG_LCD_A027DL01
bool"LCD:
AUO2.7016:
9panel"
help
SelectAUOLCD2.70"(RGB960x240A027DL01UPS051).
SelectAUOLCD2.70"(RGB360x240A027DL01NTSC).
SelectAUOLCD2.70"(YUV720x480A027DL01NTSC601).
SelectAUOLCD2.70"(RGB360x288A027DL01PAL).
endmenu
choice
prompt"SensorDevice"
defaultCONFIG_SENSOR_OEM
help
Selectthesensor.
configCONFIG_SENSOR_OEM
bool"Nosensor"
help
Nosensormodule.
configCONFIG_SENSOR_ALTA2462
bool"AltasensProCamHD2462CMOSsensor"
help
SelectAltasensProCamHD2462sensor.
configCONFIG_SENSOR_ALTA2462L2
bool"AltasensProCamHD2462L2CMOSsensor"
help
ESelectAltasensProCamHD2462L2sensor.
configCONFIG_SENSOR_ALTA3372
bool"AltasensProCamHD3372CMOSsensor"
help
SelectAltasensProCamHD3372sensor.
configCONFIG_SENSOR_ALTA5262
bool"AltasensProCamHD5262CMOSsensor"
help
SelectAltasensProCamHD5262sensor.
configCONFIG_SENSOR_MT9P001
bool"MicronMT9P0015MCMOSsensor"
help
SelectMICRONMT9P0015MCMOSsensor.
endchoice
endmenu
/********************2.3代码部分**************end***************/
三、附录。
(完整的原码)
menu"CustomizationsOptions"
#---Normalfunctionlist(neutral)---
menu"NormalFunctionList(Neutral)"
comment"NOTE:
Productnormalfunctionoptions(neutral)"
configCONFIG_VIDEO_RESOLUTION
bool"VideoResolution"
help
SelectVideoResolution1920x1080".
SelectVideoResolution1280x720".
configCONFIG_IMAGE_RESOLUTION
bool"ImageResolution"
help
SelectImageResolution2.0M".
SelectImageResolution0.9M".
configCONFIG_FLICKER
bool"Flicker"
help
SelectFlicker60HZ".
SelectFlicker50HZ".
configCONFIG_VIDEO_SPLIT_TIME
bool"VideoSplitTime"
help
SelectVideoSplitTime10min".
SelectVideoSplitTime5min".
SelectVideoSplitTime3min".
SelectVideoSplitTime1min".
configCONFIG_POWER_SAVE_TIME
bool"PowerSaveTime"
help
SelectPowerSaveTime10min".
SelectPowerSaveTime5min".
endmenu
#---Specialfunctioncustomization---
menu"SpecialFunctionList"
comment"NOTE:
ProductSpecialcustomizationfunctionoptions"
configCONFIG_CUSTOMER_GPS
bool"CustomerGPS"
help
SelectCustomerGPS.
configCONFIG_ENABLE_CAR_STAMP
bool"CarStampinvideo"
help
SelectEnableCarStampinvideo.
configCONFIG_ENABLE_CAR_NUMBER
bool"CarNumber"
defaultn
dependson(CONFIG_ENABLE_CAR_STAMP)
help
Selectenableeditcarnumberfunction.
endmenu
#---clientscustomizationinput/outputdevice---
menu"Customer_a"
menu"LCDdevice"
configCONFIG_LCD_DUMMY
bool"LCD:
DUMMYpanel"
help
SelectTDUMMYLCD".
configCONFIG_LCD_A020BL01_051
bool"LCD:
AUO2.004:
3panel"
help
SelectAUOLCD2.00"(RGB640x240A020BL01UPS051).
SelectAUOLCD2.00"(RGB360x240A020BL01NTSC).
SelectAUOLCD2.00"(RGB360x288A020BL01PAL).
configCONFIG_LCD_A021BL01
bool"LCD:
AUO2.1216:
9panel"
help
SelectAUOLCD2.12"(RGB720x240A021BL01).
configCONFIG_LCD_A024DL01
bool"LCD:
AUO2.404:
3panel"
help
SelectAUOLCD2.40"(RGB320x240A024DL01NTSC).
configCONFIG_LCD_A025DL01
bool"LCD:
AUO2.504:
3panel"
help
SelectAUOLCD2.50"(A025DL01).
SelectAUOLCD2.50"(RGB360x240A025DL01NTSC).
configCONFIG_LCD_TD024THEA1
bool"LCD:
TPY2.404:
3panel"
help
SelectToppolyLCD2.40"(RGB320x240TD024THEA1).
configCONFIG_LCD_TD030WHEA1
bool"LCD:
TPY3.004:
3panel"
help
SelectToppolyLCD3.00"(RGB360x240TD030WHEA1).
configCONFIG_LCD_A027DL01
bool"LCD:
AUO2.7016:
9panel"
help
SelectAUOLCD2.70"(RGB960x240A027DL01UPS051).
SelectAUOLCD2.70"(RGB360x240A027DL01NTSC).
SelectAUOLCD2.70"(YUV720x480A027DL01NTSC601).
SelectAUOLCD2.70"(RGB360x288A027DL01PAL).
endmenu
choice
prompt"SensorDevice"
defaultCONFIG_SENSOR_OEM
help
Selectthesensor.
configCONFIG_SENSOR_OEM
bool"Nosensor"
help
Nosensormodule.
configCONFIG_SENSOR_ALTA2462
bool"AltasensProCamHD2462CMOSsensor"
help
SelectAltasensProCamHD2462sensor.
configCONFIG_SENSOR_ALTA2462L2
bool"AltasensProCamHD2462L2CMOSsensor"
help
ESelectAltasensProCamHD2462L2sensor.
configCONFIG_SENSOR_ALTA3372
bool"AltasensProCamHD3372CMOSsensor"
help
SelectAltasensProCamHD3372sensor.
configCONFIG_SENSOR_ALTA5262
bool"AltasensProCamHD5262CMOSsensor"
help
SelectAltasensProCamHD5262sensor.
configCONFIG_SENSOR_MT9P001
bool"MicronMT9P0015MCMOSsensor"
help
SelectMICRONMT9P0015MCMOSsensor.
endchoice
endmenu
menu"Customer_b"
menu"LCDdevice"
configCONFIG_LCD_DUMMY
bool"LCD:
DUMMYpanel"
help
SelectTDUMMYLCD".
configCONFIG_LCD_A020BL01_051
bool"LCD:
AUO2.004:
3panel"
help
SelectAUOLCD2.00"(RGB640x240A020BL01UPS051).
SelectAUOLCD2.00"(RGB360x240A020BL01NTSC).
SelectAUOLCD2.00"(RGB360x288A020BL01PAL).
configCONFIG_LCD_A025DL01
bool"LCD:
AUO2.504:
3panel"
help
SelectAUOLCD2.50"(A025DL01).
SelectAUOLCD2.50"(RGB360x240A025DL01NTSC).
endmenu
choice
prompt"SensorDevice"
defaultCONFIG_SENSOR_OEM
help
Selectthesensor.
configCONFIG_SENSOR_OEM
bool"Nosensor"
help
Nosensormodule..
configCONFIG_SENSOR_MT9P012
bool"AptinaMT9P0125MCMOSsensor"
dependson(CONFIG_ARCH_A2||CONFIG_ARCH_A2S||CONFIG_ARCH_A2M||CONFIG_ARCH_A2Q)
help
SelectAptinaMT9P0121/3.2-Inch5MCMOSsensor.
endchoice
endmenu
menu"Customer_c"
menu"LCDdevice"
configCONFIG_LCD_DUMMY
bool"LCD:
DUMMYpanel"
help
SelectTDUMMYLCD".
configCONFIG_LCD_A027DL01
bool"LCD:
AUO2.7016:
9panel"
help
SelectAUOLCD2.70"(RGB960x240A027DL01UPS051).
SelectAUOLCD2.70"(RGB360x240A027DL01NTSC).
SelectAUOLCD2.70"(YUV720x480A027DL01NTSC601).
SelectAUOLCD2.70"(RGB360x288A027DL01PAL).
endmenu
choice
prompt"SensorDevice"
defaultCONFIG_SENSOR_OEM
help
Selectthesensor.
configCONFIG_SENSOR_OEM
bool"Nosensor"
help
Nosensormodule.
configCONFIG_SENSOR_ALTA2462
bool"AltasensProCamHD2462CMOSsensor"
help
SelectAltasensProCamHD2462sensor.
endchoice
endmenu
endmenu
本小编曰:
希望小编的文章能够帮助正在或准备与安霸打交道的程序猿朋友。
同时希望安霸生意兴隆,芯片狂卖,这样小编也可以多混几口饭吃[虽然小编立志于在Linux和Android方面能混几口好饭吃]。
另外,对于历史版本的软件管控,本小编推荐使用TortoiseSVN+VisualSVN(Server)的管理模式(如有兴趣,欢迎关注本小编的关于TortoiseSVN和VisualSVN的文章)。
本小编签名:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 平台 软件 管理 利用 menuconfig 定制 客户