This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

8-bit bytes on the TMS320F2833?

We are using TMS320F2833 and are attempting to port an existing FAT16 library across to enable reading and writing to/from an SD card.

Unfortunately, I’m finding that the TMS320F2833 doesn’t support 8-bit memory addressing.
(i.e. an unsigned char is 16bit instead of 8bit).

This causes problems with using existing libraries that use older formats like FAT16, because it uses structures that require the CPU to be able to create 8-bit bytes, as shown below:

// This large bootrecord will be overlayed on the physical block that was read.

typedef struct {

  U8 jmp[3];

  S8 oem_name[8];

  U16 bytes_per_sector;

  U8 sectors_per_cluster;

  U16 reserved_sectors;

  U8 fat_copies;

  U16 root_directory_entries;

  U16 number_of_sectors;

  U8 media_descriptor;

  U16 sectors_per_fat;

  U16 sectors_per_track;

  U16 heads;

  U32 hidden_sectors;

  U32 total_sectors;

  U8 drive_number;

  U8 reserved;

  U8 extended_signature;          // 0x29

  U8 serial_number[4];

  S8 volume_label[11];

  S8 filesystem[8];                      // "FAT16   "

  U8 bootstrap[448];

  U8 signature[2];                       // 0x55 0xAA

} SESD_bootRecordLarge_t;

 

 

Is there any workaround to allow declaration of structures that contain single 8 bit bytes?