У меня плата от Аргуссофт (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)