Hello everyone,
I'm currently trying to set up a development environment for the CC3200 under Linux and have been quite successful up to now. I got build and on-chip debugging to work with a vanilla Eclipse Luna, the GDB Hardware Debugging Plug-in, OpenOCD and the ARM Embedded GCC tool-chain and also successfully connected a terminal to the UART channel using the ftdi-sio kernel module.
Unfortunately the mentioned example (getting_started_with_wlan_station with FreeRTOS) doesn't seem to work. I can run it and step through main() and also see the application banner on the terminal, but as soon as I hit osi_start(), it will eventually get to prvPortStartTask() and stay there, right after the cpsie (global interrupt enable) instruction. When I hit run, the debugger breaks immediately after with SIGINT; when I hit step the debugger doesn't break at all.
With some more research and trial and error I found valuable hints in the OpenOCD log file.
Error: cc3200.cpu -- clearing lockup after double fault
Polling target cc3200.cpu failed, GDB will be halted. Polling again in 100ms
Polling target cc3200.cpu succeeded again, trying to reexamine
These three lines are generated for each SIGINT that is issued. According to some information that I found, this will happen when the CPU cannot run its fault handler. I did not touch the interrupt vector table though. Could this be a linkage problem?
EDIT: Added more details and new insight above.
With best regards,
Darius