파일을 구문 분석 중이며이 레지스터 설명과이 장치의 레지스터 읽기/쓰기 비트 필드에 대한 도구를 작성하려고합니다. 나는 그런 모습 텍스트 파일을했다 (수천 개의 항목이 있습니다 /이 파일/장치 등록) :구문 분석 된 데이터의 튜플로 사전을 초기화하십시오.
# Note 'Register> 0xXX' - Register Offset Address
Register> 0x00=Configuration ID
15:0=Vendor ID
31:16=Device ID
Register> 0x04=Class Code and Revision ID
0=TMODE
7:1=Revision ID
15:8=Register-Level Programming Interface
23:16=Sub-Class code
32:24=Base Class Code
Register> 0x08 ....
...
내가 (예 : 레지스터 주소를 보유하는 데이터 구조로이 파일을 구문 분석 한 '0x00입니다. '), 레지스터 설명 (예 :'구성 ID '), 비트 필드 (예 : '15 : 0') 및 해당 설명 (예 : '공급 업체 ID')
나는 이러한 레지스터 설명을 헤더 파일에 모두 인쇄하여 그런 사전을 초기화 할 생각이므로 등록 정보를 기반으로이 정보에 액세스해야하는 도구를 구축하고 있습니다.
regDict={}
regBitFieldList=[]
regBitFieldList.append(('15:0','Vendor ID'))
regBitFieldList.append(('31:16','Device ID'))
# ex regDict[0x00]=('Configuration ID', [('15:0','Vendor ID'), ('31:16','Device ID')])
regDict[regOffsetAddress]=(regDescription, regBitFieldList)
regBitFieldList=[]
regBitFieldList.append(NEXT REG INFO)
regDict[nextRegAddress]= (nextRegDesc, regBitFieldList)
....
...
I가 내가 readRegister이 writeRegister이 클래스를 통해 내가 을 궁금하네요 내가 다른 파일이 사전을 초기화하고 class_global 변수에 데이터를 가져 오기 할 수 있도록 장치를 나타내는 클래스? (아래 예제에서 'myDeviceDictionary'변수 참조). 즉
Class myDevice():
myDeviceDictionary = {} ## Import dictionary initialization to this variable?
__init__(self):
initialize stuff.
writeRegister(regAddress, byteString_4):
Write 32-bits to a register at regAdress from thisDevice
readRegister(regAddress):
Read 32-bits from a register at regAddress from thisDevice
데이터 모음이 크고 복잡하면 SQL 데이터베이스 또는 이와 유사한 도구 사용을 고려해야합니다. 장기적으로 두통을 덜어 줄 수 있습니다. –