Цитата(sergeeff @ Apr 12 2011, 21:06)

А вы упаковали все стуктуры?
Вообще да... но щя еще раз проверю, раз такое подозрение.
Кстати, может чё не так сделал? у меня сомнения на счет структурки struct ohci_hcca
в оригинале она написана так...
Код
//uboot gcc
struct ohci_hcca {
__u32 int_table[NUM_INTS]; /* Interrupt ED table */
__u16 frame_no; /* current frame number */
__u16 pad1; /* set to 0 on each frame_no change */
__u32 done_head; /* info returned for an interrupt */
u8 reserved_for_hc[116];
} __attribute__((aligned(256)));
при портировании в IAR если поставить "#pragma data_alignment=256" перед самой структурой, то ругается, что это бесполезное действие и его не в этом месте надо делать. Поэтому я поставил "#pragma data_alignment=256" перед объявлением переменной со структурой, а не перед самой структурой. Правильно ли? Выглиди теперь вот так:
Код
//IAR
struct ohci_hcca {
__u32 int_table[NUM_INTS]; /* Interrupt ED table */
__u16 frame_no; /* current frame number */
__u16 pad1; /* set to 0 on each frame_no change */
__u32 done_head; /* info returned for an interrupt */
u8 reserved_for_hc[116];
}
#pragma data_alignment=256
struct ohci_hcca ghcca[1];
#pragma data_alignment=4