[an error occurred while processing this directive]
|
Адресация в Блекфине 8-разрядная. Следовательно, вначале идет младший байт, затем старший. Из чего состоит старший байт? - Из младших четырех битов, которые заняты полем field1 и старших четырех битов, которые заняты полем field2. Ну, разумеется, что старшие 4 бита будут справа, а младшие слева - так записывать принято.
Теперь о решении проблемы. Думаю, что обойти это не так тривиально. (Блекфина у меня на столе нет). Но может быть спасет выравнивание по 2 байта. Можно попробовать сделать что-нибудь вроде:
#pragma pack(2)
а дальше объявление Вашей структуры.
Я бы еще посмотрел, что происходит, если сделать вот так (только для теста):
#pragma pack(2)
typedef union
{
my_struct_t A;
int B;
} my_union_t;
E-mail: info@telesys.ru