DM3730 from the ground up; XDS100v2; register access problem


I’d like to preface my question by saying outright that I’m not sure whether it’s the right place to raise such questions as the one about to follow, but I’m truly at sea on this one and I need help.

The lab I’m working in has acquired a BeagleBoard-xM to explore the extent of DM37xx processing prowess with a very specific view to developing a much smaller board - tailored/watered-down/fine-tuned/honed/whatever - to meet the requirements of the application at hand, no more no less. As I’d been put in charge of this small endeavor, I tentatively succeeded in implementing schematic and PCB designs, the latter now awaiting to be sent out to a board-manufacturing house. But before I’d do just that, I need to make sure I understand perfectly what I’m dealing with and lay some groundwork for the future.

As any OS involvement was out of the question (except maybe for SYS/BIOS at the most), I am now taking small steps in building baby-size test applications each one revealing more of a functionality of the SoC. However, I’ve run into a problem.

I’m using XDS100v2 USB Emulator as a bridge between CCS debugger and BB-xM. My problem consists in a rather strange behavior of the processor’s registers. I do everything seemingly right, and sometimes it results in a valid and predictable response from the processor. On the other hand, sometimes I fail to gain access to certain peripheral registers. I’m not allowed to read or write, and when I try to do so, Data Abort is invoked. I know for a fact that toggling power supply may or may not help in this situation. For example, when I first attempted to get UART3 up and running, I was blatantly denied to access corresponding registers and thrown into dead loop section. At the same time, GPIOs were easily accessed and responded to my manipulations in a very friendly way. After I power-cycled the board, miraculously UART3 registers came to life and allowed itself to be configured and put into operation, although some other peripherals from the PER domain remained cold and unreachable.

I’m wondering now if it is possible for me to get some answers here. I would very much appreciate it. Is it an emulator problem, or is it just what I do that is at fault?

Thank you very much in advance.