Перейти к содержанию
    

Запуск µC/OS-II (µC/OS-III) на Cyclone V

Привет всем!

Имеется задача запустить µC/OS-III на отладочной плате DE1-SoC, что сделать не получается. Пример для запуска был взят из комплекта вышеназванной ОС для процессоров A9 в среде разработки DS-5.

Проблема в том, что в DDR не грузится основная прошивка. u-boot-spl загружается нормально, после чего в App Console выходит сообщение об ошибке:

 

SDRAM: Initializing MMR registers

SDRAM: Calibrating PHY

### ERROR ### Please RESET the board ###

 

Прелоадер в это время останавливается на команде wait 60s.

Если следовать указаниям и перезагрузить плату с помощью WARM_RST, то при попытке загрузки файла CycloneV-SOC-DevKit_OS3.axf выходит ошибка:

 

ERROR(CMD16-TAD274-NAL33):

! Failed to load "CycloneV-SOC-DevKit_OS3.axf"

! Failed to write 49 152 bytes to address N:0x01000000 while writing block of 4 096 bytes to address N:0x01000000

! Target is running, cannot access.

 

Я так понял какая-то проблема в сбросе процессора. Может кто-нибудь уже запускал данный пример?

 

Также прикладываю весь лог из вкладки Commands.

log.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет всем!

Имеется задача запустить µC/OS-III на отладочной плате DE1-SoC, что сделать не получается. Пример для запуска был взят из комплекта вышеназванной ОС для процессоров A9 в среде разработки DS-5.

Проблема в том, что в DDR не грузится основная прошивка. u-boot-spl загружается нормально, после чего в App Console выходит сообщение об ошибке:

 

SDRAM: Initializing MMR registers

SDRAM: Calibrating PHY

### ERROR ### Please RESET the board ###

 

Прелоадер в это время останавливается на команде wait 60s.

Если следовать указаниям и перезагрузить плату с помощью WARM_RST, то при попытке загрузки файла CycloneV-SOC-DevKit_OS3.axf выходит ошибка:

 

ERROR(CMD16-TAD274-NAL33):

! Failed to load "CycloneV-SOC-DevKit_OS3.axf"

! Failed to write 49 152 bytes to address N:0x01000000 while writing block of 4 096 bytes to address N:0x01000000

! Target is running, cannot access.

 

Я так понял какая-то проблема в сбросе процессора. Может кто-нибудь уже запускал данный пример?

 

Также прикладываю весь лог из вкладки Commands.

 

watchdog отключен?

 

bsp-editor настройки выложи

 

какой тулчейн используешь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На счет watchdog не уверен. Брался пример с сайта микриум для этого процессора, но, как я понял, другой отладочной платы. Соответственно bsp тоже поставлялась в комплекте. Приложил полностью проект, если это как-то сможет прояснить ситуацию.

В качестве компилятора используется Arm Compiler 5.

Micrium.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На счет watchdog не уверен. Брался пример с сайта микриум для этого процессора, но, как я понял, другой отладочной платы. Соответственно bsp тоже поставлялась в комплекте. Приложил полностью проект, если это как-то сможет прояснить ситуацию.

В качестве компилятора используется Arm Compiler 5.

 

попробуй этот scat файл

 

SDRAM 0x02000000 0x10000000

{

APP_CODE +0

{

startup.o(StartUp +FIRST)

* (+RO)

* (+RW,+ZI)

}

 

; IRQ stacks for core 0 - see startup.s

IRQ_STACK +0 ALIGN 8 EMPTY 32768 { }

 

; FIQ stacks for core 0 - see startup.s

FIQ_STACK +0 ALIGN 8 EMPTY 32768 { }

 

; ABT stacks for core 0 - see startup.s

ABT_STACK +0 ALIGN 8 EMPTY 32768 { }

 

; UND stacks for core 0 - see startup.s

UND_STACK +0 ALIGN 8 EMPTY 32768 { }

 

; SVC stacks for core 0 - see startup.s

SVC_STACK +0 ALIGN 8 EMPTY 32768 { }

 

; SYS stacks for core 0 - see startup.s

SYS_STACK +0 ALIGN 8 EMPTY 32768 { }

 

ARM_LIB_STACKHEAP +0 ALIGN 8 EMPTY 0x4000000 ; Application heap and stack

{ }

 

PAGE_TABLE +0 ALIGN 16384 EMPTY 0x4000 { }

 

}

 

; On chip ram reserved for descriptors

OCRAM 0xFFFF0000 0x10000

{

NET_DESC 0xFFFFE000 EMPTY 0x1000 { }

}

 

и еще

 

загрузка откуда? qspi, sdcard

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё равно в консоли ошибка

 

loadfile "D:\Micrium\Examples\Altera\CycloneV-SOC-DevKit\OS3\ARM_DS-5\Debug\CycloneV-SOC-DevKit_OS3.axf"

ERROR(CMD16-TAD274-NAL33):

! Failed to load "CycloneV-SOC-DevKit_OS3.axf"

! Failed to write 49 152 bytes to address N:0x02000000 while writing block of 4 096 bytes to address N:0x02000000

! Target is running, cannot access.

 

Не совсем понимаю что требуется отладчику.

 

Загрузка по умолчанию выставлена из sdcard. Это разве важно, когда используем отладчик?

 

И ещё когда останавливаешь отладчик после всей этой процедуры, то он остается в адрессном пространстве 0x00002FA4

 

Изменено пользователем wapster

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё равно в консоли ошибка

 

loadfile "D:\Micrium\Examples\Altera\CycloneV-SOC-DevKit\OS3\ARM_DS-5\Debug\CycloneV-SOC-DevKit_OS3.axf"

ERROR(CMD16-TAD274-NAL33):

! Failed to load "CycloneV-SOC-DevKit_OS3.axf"

! Failed to write 49 152 bytes to address N:0x02000000 while writing block of 4 096 bytes to address N:0x02000000

! Target is running, cannot access.

 

Не совсем понимаю что требуется отладчику.

 

Загрузка по умолчанию выставлена из sdcard. Это разве важно, когда используем отладчик?

 

И ещё когда останавливаешь отладчик после всей этой процедуры, то он остается в адрессном пространстве 0x00002FA4

 

 

просто загрузчик (bsp) может быть собран с загрузкой из QSPI

а у тебя перемыками из SD CARD

 

возможно в этом и проблема

 

и еще

какой нить проект без OS из DDR работает?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересная теория. Попробую капнуть в этом направлении. Тут ещё проблема, что на этой плате просто так не переключить источник загрузки. В теории можно самому попробовать собрать загрузчик.

Простой проект типа Hello World запускал из оперативки на чипе.

Возможно ли запустить проект с µC/OS-III на встроенной ОЗУ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересная теория. Попробую капнуть в этом направлении. Тут ещё проблема, что на этой плате просто так не переключить источник загрузки. В теории можно самому попробовать собрать загрузчик.

Простой проект типа Hello World запускал из оперативки на чипе.

Возможно ли запустить проект с µC/OS-III на встроенной ОЗУ?

 

у меня насколько я помню не получилось

 

но можно попробовать Hello World из DDR

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собственно проблема оказалась в загрузчике от другой, отличной от DE1-SoC, платы. Необходимо было сделать свой загрузчик u-boot-spl, где правильно бы инициализировалась память DDR.

 

Спасибо за помощь!

Изменено пользователем wapster

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...