реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Запуск µC/OS-II (µC/OS-III) на Cyclone V
wapster
сообщение Jan 16 2018, 07:01
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 16-01-18
Пользователь №: 101 101



Привет всем!
Имеется задача запустить µ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 ( 4.65 килобайт ) Кол-во скачиваний: 8
 
Go to the top of the page
 
+Quote Post
Realking
сообщение Jan 16 2018, 07:37
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(wapster @ Jan 16 2018, 10:01) *
Привет всем!
Имеется задача запустить µ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 настройки выложи

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


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
wapster
сообщение Jan 16 2018, 08:22
Сообщение #3





Группа: Участник
Сообщений: 10
Регистрация: 16-01-18
Пользователь №: 101 101



На счет watchdog не уверен. Брался пример с сайта микриум для этого процессора, но, как я понял, другой отладочной платы. Соответственно bsp тоже поставлялась в комплекте. Приложил полностью проект, если это как-то сможет прояснить ситуацию.
В качестве компилятора используется Arm Compiler 5.
Прикрепленные файлы
Прикрепленный файл  Micrium.zip ( 1.05 мегабайт ) Кол-во скачиваний: 11
 
Go to the top of the page
 
+Quote Post
Realking
сообщение Jan 16 2018, 08:38
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(wapster @ Jan 16 2018, 11:22) *
На счет 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


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
wapster
сообщение Jan 16 2018, 09:19
Сообщение #5





Группа: Участник
Сообщений: 10
Регистрация: 16-01-18
Пользователь №: 101 101



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

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 - Jan 16 2018, 09:23
Go to the top of the page
 
+Quote Post
Realking
сообщение Jan 16 2018, 10:08
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(wapster @ Jan 16 2018, 12:19) *
Всё равно в консоли ошибка

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


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
wapster
сообщение Jan 16 2018, 10:47
Сообщение #7





Группа: Участник
Сообщений: 10
Регистрация: 16-01-18
Пользователь №: 101 101



Интересная теория. Попробую капнуть в этом направлении. Тут ещё проблема, что на этой плате просто так не переключить источник загрузки. В теории можно самому попробовать собрать загрузчик.
Простой проект типа Hello World запускал из оперативки на чипе.
Возможно ли запустить проект с µC/OS-III на встроенной ОЗУ?
Go to the top of the page
 
+Quote Post
Realking
сообщение Jan 16 2018, 10:52
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(wapster @ Jan 16 2018, 13:47) *
Интересная теория. Попробую капнуть в этом направлении. Тут ещё проблема, что на этой плате просто так не переключить источник загрузки. В теории можно самому попробовать собрать загрузчик.
Простой проект типа Hello World запускал из оперативки на чипе.
Возможно ли запустить проект с µC/OS-III на встроенной ОЗУ?


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

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


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
wapster
сообщение Jan 17 2018, 12:49
Сообщение #9





Группа: Участник
Сообщений: 10
Регистрация: 16-01-18
Пользователь №: 101 101



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

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

Сообщение отредактировал wapster - Jan 17 2018, 12:50
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 16:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01459 секунд с 7
ELECTRONIX ©2004-2016