У меня плата от Аргуссофт (AT91SAM7x256). Является ли она аналогом AT91SAM7x-EK? конфигурирую в Линуксе при помощи Configtool, прошиваю с помощью Sam-ba через usb так же в Линуксе. Хотелось бы узнать, правильная ли последовательность действий? Итак... 1) выбираю в Templates - AT91SAM7x-EK 2) для начала выбираю конфигурацию minimal 3) сохраняю файл .ecc 4) Build->libraries 5) Копирую исходник приложения (допустим, hello.c) и его makefile в папку с полученными библиотеками. 6) В консоли набираю make, получается исполняемый файл в той же папке (видимо, это файл elf).
вопросы: 1)Как вообще можно проверить, правильно ли собралось ядро eCos вместе с приложением. после загрузки в плату вообще непонятно... 2)Прошивать нужно во flash? (я в самбе делаю так: flash 0x00100000 /root/hello.bin) 3)Надо ли полученный файл (hello.elf) переконвертировать в .bin (я пробую так: arm-elf-objcopy -O binary hello hello.bin). прошивать нужно именно бинарник? 4)Не можем зажечь лампочки на плате((( Вот текст программки:
#include <stdio.h> #include <cyg/infra/cyg_type.h> #include <cyg/hal/var_io.h> #include <cyg/hal/plf_io.h>
int main(void) { //hal_at91_led (1); HAL_ARM_AT91_GPIO_CFG_DIRECTION(AT91_GPIO_PB19, 0);//AT91_PIN_OUT); HAL_ARM_AT91_GPIO_CFG_PULLUP(AT91_GPIO_PB19, 0);//AT91_PIN_PULLUP_DISABLE); HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PB19, 0); printf("Hello, eCos world!\n"); return 0; }
Что делаем не так? 5)Можно ли отлаживать программу в gdb, используя встроенный в него симулятор? (не с помощью target remote)
|