This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Z-SEED said:I just want to know what is the chip family CCS is emulated by reading ccBoard0.dat.
You can get this information by parsing the *.ccxml file. I suggest you do that instead of trying to access ccBoard0.dat.
Thanks
ki
Hi,
The <ccBoard0.dat> contains the low-level emulator configuration and the JTAG routing information of the device configured in the .ccxml file. That said, you can't possibly know precisely which device is being used as the JTAG routing information is not unique per device, therefore your best bet is to proceed as Ki suggested.
Regards,
Rafael
What I need is I want to know the cpu family when I connect the target board at the beginning. It looks like I can get what I need by reading ccBoard0.dat.
Though I can get that from *.ccxml either, but people can make many *.ccxml files if they want, how could I know which one is the one that CCS debug?
Hi,
Check below an example of a device described inside a partial <ccBoard0.dat> file. The exact same .ccxml problem you described happens when inspecting this file: you can't possibly tell which device is described by it, only which cores, routers and nodes it contains.
ccBoard0.dat said:
@ icepick_c_0 family=icepick_c irbits=6 drbits=1 subpaths=2
& subpath_2 address=19 default=no custom=no force=yes pseudo=no
@ cs_dap_pc_0 family=cs_dap_pc irbits=4 drbits=1 subpaths=2 address=0xD401D030 identify=0x0B6D602F revision=Legacy
& subpath_6 type=legacy address=0 default=no custom=no force=yes pseudo=no
@ csetb_0 family=cs_etb irbits=0 drbits=0 address=0x5401B000 traceid=0x0
& subpath_3 type=legacy address=0x9000 default=no custom=no force=yes pseudo=no
@ cs_child_2 family=cs_child irbits=0 drbits=0 address=0xD4010000 identify=0x48C6E409
@ cs_child_1 family=cs_child irbits=0 drbits=0 address=0xD401D000 identify=0x48CD0C09
@ cs_child_0 family=cs_child irbits=0 drbits=0 address=0xD4012000 identify=0x48C44C09
@ cortex_a8_0 family=cortex_axx irbits=0 drbits=0 address=0xD4011000
& /
& subpath_0 address=17 default=no custom=no force=yes pseudo=no
@ c64xp_0 family=tms320c64plus irbits=38 drbits=1
& /
ccBoardOMAP3525.dat said:
@ icepick_c_0 family=icepick_c irbits=6 drbits=1 subpaths=2
& subpath_1 address=19 default=no custom=no force=yes pseudo=no
@ cs_dap_pc_0 family=cs_dap_pc irbits=4 drbits=1 subpaths=2 address=0xD401D030 identify=0x0B6D602F revision=Legacy
& subpath_6 type=legacy address=0 default=no custom=no force=yes pseudo=yes
@ csetb_0 family=cs_etb irbits=0 drbits=0 address=0x5401B000 traceid=0x0
& subpath_2 type=legacy address=0x9000 default=no custom=no force=yes pseudo=no
@ cs_child_2 family=cs_child irbits=0 drbits=0 address=0xD4010000 identify=0x48C6E409
@ cs_child_1 family=cs_child irbits=0 drbits=0 address=0xD401D000 identify=0x48CD0C09
@ cs_child_0 family=cs_child irbits=0 drbits=0 address=0xD4012000 identify=0x48C44C09
@ cortex_a8_0 family=cortex_axx irbits=0 drbits=0 address=0xD4011000 traceid=0x0
& /
& subpath_0 address=17 default=no custom=no force=yes pseudo=no
@ c64xp_0 family=tms320c64plus irbits=38 drbits=1 traceid=0x0
& /
The ccBoard0.bat could get me what I want, for example "family=tms320c64plus" is what I want.
My problem is that:
Take I had installed CCS5.2 as an example, if I debug a *.ccxml file, then I can find the correspond ccBoard0.bat in 'C:\Users\User\AppData\Local\.TI\1181552313\0\0'. However, if I change to use another PC, and I installed the same version of CCS, then I could find ccBoard0.bat in 'C:\Users\User\AppData\Local\.TI\xxxxxxxx\0\0', in which 'xxxxxxxx' means a series of numbers and it is made by CCS. They are different in different PC and in different CCS. My question is how I could know the exact and full path of the ccBoard0.bat file's directory in different PC. If I installed two different CCS in a PC, CCS5.1 and CCS5.2, how could I know which number corresponds to CCS5.1, which number corresponds to CCS5.2. I just want to know the relationship between 'xxxxxxxx' and the version of CCS in PC.
The board.dat file, and it's location, are not interfaces that we expect anyone to use or rely on. As such, it's very likely that one or both will change in future versions. I'd like to repeat what others have already said - the ccxml file should contain what you need, and I'd recommend you use it first.
That being said, if this is just an in house utility and you can take the chance of the board.dat file moving, then here's how you can currently find it: For the folder .TI\1181552313\0\0, the 1181552313 is a hash of the install directory, the first 0 is the hash bucket (in case of conflicts), and the second 0 is the process instance. Under the hash bucket is a file named "key" that lists the install location. Even assuming you don't plan on handling multiple CCS processes running simultaneously, there's a chance the folder could be locked for some other reason (zombied process). But, you could find the correct key file and then search recursively from there for the board.dat file, perhaps preferring the most recent one.
Darian
If I use ccxml, there is a same question.
For example, if I have two ccxml files, one is a.ccxml, other is b.ccxml. Then I open CCS, and debug one ccxml, then I run my VC program which is just want to know the target board information. In that case, how does my VC program know which ccxml is used, a or b?
Assuming this VC program runs in a separate process, there's nothing you can do. You'll have to specify the ccxml file in the VC program (command line option or something). CCS does not have any out of process APIs, nor are there files that you can reliable inspect to determine what ccxml file was launched.
Darian