Jump to content

    

Запуск µ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

Share this post


Link to post
Share on other sites
Привет всем!

Имеется задача запустить µ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 настройки выложи

 

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

Share this post


Link to post
Share on other sites

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

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

Micrium.zip

Share this post


Link to post
Share on other sites
На счет 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

 

Share this post


Link to post
Share on other sites

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

 

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

 

Edited by wapster

Share this post


Link to post
Share on other sites
Всё равно в консоли ошибка

 

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 работает?

 

Share this post


Link to post
Share on other sites

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

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

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

Share this post


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

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

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

 

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

 

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

 

Share this post


Link to post
Share on other sites

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

 

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

Edited by wapster

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this