Пересаживаюсь с FreeRTOS на scmRTOS. Проц AT91SAM7X256. Поправил код программы, скомпилил. При загрузке J-link выдал такой перл:
Код
Loaded macro file: \scm\config\AT91SAM7_FLASH.mac
JTAG speed is set to: 32 kHz
Write memory error @ address 0xFFFFFC20, word access: Core error.
Error in \scm\config\AT91SAM7_FLASH.mac at line 53, col 20: Operation error.
Error while calling macro execUserPreload.
Failed to load debugee: \scm\Exe\slon.d79
Подставил загрузочный макрос (.mac - файл) от фри - заработало. В этих макросах я пока не разобрался, такчто в чем конкретно проблема сказать не могу, но она есть.
И еще. Как подсчитать необходимый размер стека для процесса? Вроде это суммарный размер всех процовых регистров плюс какоето число байт на каждый уровень вложенности функций? От кол-ва используемых ОЗУ-шных переменных зависеть не должно... Или как? Почему спрашиваю - пока не увеличил размер стека для одного из процессов - прога частенько выскакивала на Data Abort Vector. Теперь работает. Покачто. Хочется быть уверенным что она не слетит.
И еще один глюк проявился - перестает срабатывать прерывание. Прерывание от EMAC. Других и нет.
На всякий случай приложил исходник.
Вообще прога занимается выбросом в порт данных, принятых через изернет.
Прикрепленные файлы
scm.zip ( 93.43 килобайт )
Кол-во скачиваний: 66