Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

Legacy microcontrollers Forum Discussions

RValascho
Employee
Employee
5 questions asked First question asked 10 replies posted
I'm working with a customer who is planning to use our XC886 device for communication between several devices in a robotic assembly. One of the requirements is CAN communication. I found a USCALE kit with example CAN software. I am trying to build and run the code to demo. I have imported the DAVE project into DAVE Bench and have built the code. I am getting the following error when I do this:

'Invoking: SDCC Linker'
"C:/DAVE-Bench-201\SDCC_XC800\bin\sdcc" --debug -mXC800 -pXC886_8FF --model-large --iram-size 0x100 -Wl -bBSEG=0x20 --xram-loc 0xF000 --xram-size 0x600 --code-loc 0x0000 --code-size 0x8000 --data-loc 0x00 --idata-loc 0x80 --stack-loc 0x80 -Wl -bPSEG=0xF000 -o "./USC_CAN.hex" "./CAN.rel" "./MAIN.rel" "./MemInitxc88x.rel" "./SHARED_INT.rel" "./UART.rel" "./startupxc886.rel"
ERROR: Undefined Global '__xc886_genRAMCLEAR' referenced by module 'MAIN'
make: *** [USC_CAN.hex] Error 1

I assume that I have a settings issue. Can you help me determine the problem?

Thank You!
0 Likes
2 Replies
Not applicable
Afaik the USCALE examples are created with KEIL uVison, not DAVE BENCH. You will have to make a new project for DAVE BENCH. You can reuse the .dav file, just change the compiler (File --> Project Settings --> General --> Compiler Settings --> change to SDCC --> regenerate code in a new folder --> import to DAVE BENCH --> manually add user code).
0 Likes
Not applicable
I mean the USCALE CAN examples. There are some blinky examples with SDCC but those are not useful for CAN development.
0 Likes