What are the main differences between DSP's C language and host's C language?
[Copy link]
What are the main differences between DSP's C language and host's C language?
1) The C language of DSP is standard ANSI C, which does not include the extended parts that are connected to peripherals, such as screen drawing. However, in CCS, for the convenience of debugging, data can be virtually output to the host screen through the prinf command.
2) The compilation process of DSP's C language is that C is compiled into ASM, and then ASM is compiled into OBJ. Therefore, the correspondence between C and ASM is very clear, which is very convenient for manual optimization.
3) The code of DSP needs absolute positioning; the C code of the host has operating system positioning.
4) The efficiency of DSP's C is relatively high, which is very suitable for embedded systems.
Why does the compilation tool not work properly under CCS ?
Some customers will encounter compilation tools that do not work properly under CCS. Common errors are:
1) The path of autoexec.bat is "out of memory". Modify autoexec.bat and clear the useless PATH path.
2) The compiled output file (OUT file) is write-protected and cannot be overwritten. Delete or modify the properties of the output file.
3) There is a problem with Windows. Reinstall Windows.
4) There are programs under Windows that affect CCS. It is recommended to use a "clean" computer.
How to select valid memory space under CCS?
It is best to set the memory space under CCS to be the same as your hardware. Do not make valid the memory that is not available. This makes debugging easier. CCS will find out whether you have accessed invalid addresses when calling the program or running the program.
1) Set it in the GEL file. See the example in CCS.
2) Under the Option menu, select the Memory Map option and set it according to your hardware. Note that Enable Memory Mapping must be enabled.
Why does "Data verification failed..." appear when loading the OUT file under CCS?
The address allocated by Link's CMD file does not match the GEL or the set valid address space. There is no RAM at the location of the interrupt vector or other code or data segments, and the OUT file cannot be loaded. Solution: 1) Adjust Link's CMD file so that there is RAM at the location segment. 2) Adjust the memory settings to make the RAM area valid.
|