Bug report - missing flexbus memory map definitions in kinetis.h

skaarj

New member
While consulting the K64 Sub-Family Reference Manual, I encountered a small problem: it is impossible to initialize flexbus registers in order to replicate a beautiful project called "tiny scsi emulator".

Anyway:
Code:
void setup() {
  FB_CSAR0 = 0xA0000000;
  FB_CSCR0 = FB_CSCR_BLS | FB_CSCR_PS(1) | FB_CSCR_AA | FB_CSCR_ASET(1) | FB_CSCR_WS(3);
  FB_CSMR0 = FB_CSMR_BAM(0) | FB_CSMR_V;
  FB_CSAR1 = 0xB0000000;
  FB_CSCR1 = FB_CSCR_BLS | FB_CSCR_PS(1) | FB_CSCR_AA | FB_CSCR_ASET(1) | FB_CSCR_WS(3);
  FB_CSMR1 = FB_CSMR_BAM(0) | FB_CSMR_V;
  FB_CSPMCR = (1<<28) | (2<<12);
}

void loop() {

}

I need these to initialize the bus in order to get the scsi communication going.
These registers are explained in the manual, but they are (no longer?) defined in kinetis.h. I even searched for the older definitions inside the old MK20D7.h to see if I can find the same hexadecimal variables, and everything is missing.

Also, I saw in another project called "Teensy 3.6 VGA driver" they were talking about the "CSAR" register which is not defined anywhere.

Please advise.
 
Back
Top