From: Richard H. <hug...@gm...> - 2015-02-10 20:59:13
|
Hi all, I'm attempting to write a USB stack for a super simple low power device using a PIC16F1454 (pic14) and SDCC (from svn trunk). I'm defining these two structures __at(0x2000) volatile BDT_t ep0Bo; __at(0x2070) volatile setup_package_t setupPacket; ... and then doing "ep0Bo.ADDR = (uint16_t) &setupPacket;" but this resets my device. I assume I'm using the BDT address in the wrong way, but there doesn't seem to be many understandable pic14 USB examples that can compile with SDCC. Breaking on the offending line shows that &setupPacket does indeed equal 0x2070. I'm trying to use the 0x2070 buffer to receive the setup packet. I've attached a minimal reproducer to show the problem. Any advice very welcome, thanks! Richard |