|
|
  |
NIOS для начинающих |
|
|
|
May 13 2011, 08:18
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Цитата Reset на борде относится именно к ниосу именно к ниосу. Цитата примеры загрузчиков смотрели: с него и начал. an458-ой до дыр перечитал. примеры от туда скачал - не работают они. нашел я как из ниоса делать 7-ой пункт. Цитата Между 7-м и 8-м пунктом нужно выполнить ассемблер в квартусе (ну или полную компиляцию если не найдете) чтобы он подхватил .hex файл и встроил его в .sof. ??? не понял, а когда hex в ончип попадает? я думал что достаточно залить sof, и во время этой заливки hex подхватится.
|
|
|
|
|
May 13 2011, 08:48
|

Частый гость
 
Группа: Свой
Сообщений: 146
Регистрация: 11-08-08
Из: Kolpino
Пользователь №: 39 551

|
Цитата(Reanimator++ @ May 13 2011, 11:09)  Между 7-м и 8-м пунктом нужно выполнить ассемблер в квартусе (ну или полную компиляцию если не найдете) чтобы он подхватил .hex файл и встроил его в .sof. Вы заливаете в борду голое железо без ПО, собранное на 3-4 пункте. Или можно поставить галку Use smart compilation и запустить компилятор. Он должен обновить Hex файл конфигурации on-chip памяти. Цитата И еще, уверены что Reset на борде относится именно к ниосу а не реконфегурирует всю плис например? Мне тоже так показалось. По идее после прошивки sof файлом процессор автоматически сбрасывается и должен исполнять программу. Если хотите, есть пример проекта со стандартным загрузчиком. И даже перевод AN-458.
--------------------
|
|
|
|
|
May 13 2011, 09:13
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Цитата По идее после прошивки sof файлом процессор автоматически сбрасывается и должен исполнять программу. а в программе printf("hallo wrld") в jtag-uart. поэтому чтоб увидеть выхлоп нужно после заливки соф запустить терминал и нажать ресет. у меня уже проблема не с загрузчиком. Я уже забыл про него. Проблема локализовалась. Проблема в том, что: есть простая программа, хелловорд (или загрузчик, или тестер или мигание диодом - это уже не важно, просто программа). необходимо чтоб ресет был на ончипе и после ресета процессора выполнялась эта программа сразу, без всяких загрузок из флеш, т.е. она должна создаться в плисине при загрузке конфигурации. Не получается. Цитата Между 7-м и 8-м пунктом нужно выполнить ассемблер в квартусе вот это я пропустил. Но сделав компиляции всего проекта после создание хекс файла - непомогло. не запускается программа.
|
|
|
|
|
May 13 2011, 10:15
|

Частый гость
 
Группа: Свой
Сообщений: 146
Регистрация: 11-08-08
Из: Kolpino
Пользователь №: 39 551

|
Цитата(juvf @ May 13 2011, 13:13)  а в программе printf("hallo wrld") в jtag-uart. поэтому чтоб увидеть выхлоп нужно после заливки соф запустить терминал и нажать ресет.
у меня уже проблема не с загрузчиком. Я уже забыл про него. Проблема локализовалась. Проблема в том, что: есть простая программа, хелловорд (или загрузчик, или тестер или мигание диодом - это уже не важно, просто программа). необходимо чтоб ресет был на ончипе и после ресета процессора выполнялась эта программа сразу, без всяких загрузок из флеш, т.е. она должна создаться в плисине при загрузке конфигурации. Не получается.
вот это я пропустил. Но сделав компиляции всего проекта после создание хекс файла - непомогло. не запускается программа. Сейчас сделал - у меня всё запустилось. Файл архива проекта почему то не могу прикрепить... Вносим изменения в программу. Конвертируем elf to hex. Жмем smart compilation и вуаля!
Эскизы прикрепленных изображений
--------------------
|
|
|
|
|
May 16 2011, 03:08
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Цитата(Reanimator++ @ May 14 2011, 15:39)  Тогда проверяйте что имя файла прописанное в свойствах ончип в сопц билдере (параметр memory initialization file) сопадает с именем того .hex файла который вы подсовываете квартусу после ниос иде. В принципе если ничего не трогать то они автоматом совпадают, как у naliwator-а. Это я обнаружил. В общем по умолчанию для ончип-а sopc билдер дал имя onchip_memory2_0. Начал урок по своему загрузчику из an458.pdf - переименовал ончип в boot_rom. Потом в квартусе при компиляции среди over 9000 ворнингов не сразу заметил что квартус пытается подцепить onchip_memory2_0.hex. Ни как не мог ему объяснить что теперь нужен boot_rom.hex. Стояла галка Use smart compilation. Снял её и квартус сразу понял что теперь нужен boot_rom.hex. Ну ещё был ворнинг что найден boot_rom.v в разработке, но этот файл не является файлом проекта. Ручками удалил из проекта onchip_memory2_0.v и добавил boot_rom.v. Ворнингов стало на пару меньше, но пока при ресете он чип не инится моим хексом(или хекс кривой). Хотя в инфо вроде все красиво: Код Info: Instantiated megafunction "cpuNew:inst3|boot_rom:the_boot_rom|altsyncram:the_altsyncram" with the following parameter: Info: Parameter "byte_size" = "8" Info: Parameter "init_file" = "boot_rom.hex" Info: Parameter "lpm_type" = "altsyncram" Info: Parameter "maximum_depth" = "9000" Info: Parameter "numwords_a" = "9000" Info: Parameter "operation_mode" = "SINGLE_PORT" Info: Parameter "outdata_reg_a" = "UNREGISTERED" Info: Parameter "ram_block_type" = "AUTO" Info: Parameter "read_during_write_mode_mixed_ports" = "DONT_CARE" Info: Parameter "width_a" = "32" Info: Parameter "width_byteena_a" = "4" Info: Parameter "widthad_a" = "14"
Сообщение отредактировал juvf - May 16 2011, 03:10
|
|
|
|
|
May 16 2011, 04:38
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Обратно поставил галочку Use smart compilation - при компиляции снова получаю ворнинги Код Warning: Can't find design file epcs_flash_controller_boot_rom.hex Warning: Can't find design file onchip_memory2_0.hex Warning: Can't find design file epcs_flash_controller_boot_rom.hex Warning: Can't find design file onchip_memory2_0.hex Warning: Can't find design file epcs_flash_controller_boot_rom.hex Warning: Can't find design file onchip_memory2_0.hex Info: ******************************************************************* Info: Running Quartus II Analysis & Synthesis Info: Version 10.1 Build 197 01/19/2011 Service Pack 1 SJ Full Version Info: Processing started: Mon May 16 10:13:05 2011 Info: Command: quartus_map --read_settings_files=on --write_settings_files=off TestFrontEnd -c topLevel Info: Parallel compilation is enabled and will use 4 of the 4 processors detected Info: Found 1 design units, including 1 entities, in source file boot_rom.v Info: Found entity 1: boot_rom Info: Found 2 design units, including 2 entities, in source file sdram.v Info: Found entity 1: sdram_input_efifo_module Info: Found entity 2: sdram Info: Found 1 design units, including 1 entities, in source file pllsdram.v Info: Found entity 1: pllSdram Info: Found 2 design units, including 2 entities, in source file epcs_flash_controller_0.v Info: Found entity 1: epcs_flash_controller_0_sub Info: Found entity 2: epcs_flash_controller_0 Info: Found 1 design units, including 1 entities, in source file cpu_0_test_bench.v Info: Found entity 1: cpu_0_test_bench Info: Found 7 design units, including 7 entities, in source file uart_0.v Info: Found entity 1: uart_0_log_module Info: Found entity 2: uart_0_tx Info: Found entity 3: uart_0_rx_stimulus_source_character_source_rom_module Info: Found entity 4: uart_0_rx_stimulus_source Info: Found entity 5: uart_0_rx Info: Found entity 6: uart_0_regs Info: Found entity 7: uart_0 От куда этот onchip_memory2_0.hex? Почему квартус его хочет? в sopc билдере ончип раньше именовался onchip_memory2_0, но сейчас именуется boot_rom и инициализируется файлом по умолчанию boot_rom.hex. И при компиляции всегда компиляется весь проект. Поечему? Скомпилял проект, тут же нажал компилять - опять все по новой. А должен вроде смарт понять что не было изменений и не компилять ни чего. naliwator в моем выхлопе нет таких пунктов как у тебя Код Running Quartus II MIF/HEX Update тоже не понятно почему?
|
|
|
|
|
May 16 2011, 06:09
|

Частый гость
 
Группа: Свой
Сообщений: 146
Регистрация: 11-08-08
Из: Kolpino
Пользователь №: 39 551

|
Цитата(juvf @ May 16 2011, 07:08)  переименовал ончип в boot_rom. Ну ещё был ворнинг что найден boot_rom.v в разработке, но этот файл не является файлом проекта. Ручками удалил из проекта onchip_memory2_0.v и добавил boot_rom.v. Вы поменяли исходные файлы проекта, поэтому Цитата Код Info: Running Quartus II Analysis & Synthesis Info: Version 10.1 Build 197 01/19/2011 Service Pack 1 SJ Full Version Info: Processing started: Mon May 16 10:13:05 2011 и вы не можете видеть Цитата Код Running Quartus II MIF/HEX Update Собственно, почему на кошках не хотите потренироваться?
--------------------
|
|
|
|
|
May 16 2011, 08:15
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Цитата Собственно, почему на кошках не хотите потренироваться? Да на кошках наверно с полпинка заведется. У меня тяжелый проект, которому нужно сделать ончип загрузчик. Можно сделать кошку и в неё заново проект собирать, все пины переназначать..... Но с этим нужно разобраться. В общем получилось. Как - не могу понять. В прицепе можно на этом остановиться и писать программу дальше. Но..... Сейчас в сопц ончип именуется onchip_memory2_0. Соответственно в проекте есть файл onchip_memory2_0.v и ниос иде делает onchip_memory2_0.hex который скармливаю в sof файл. удалил из проекта файлы boot_rom.v. Удалил с диска файлы boot_rom.v и boot_rom.hex. Но теперь другие ворнинги: Код Warning: Can't find design file boot_rom.v Warning: Can't find design file boot_rom.hex Не могу понять как в квартусе управлять проектом? Почему квартус ищет файлы boot_rom? Где-то в записях какихто исходников очевидно есть ссылки на них. Но где? Как ими управлять этими ссылками/настройками?
|
|
|
|
|
May 16 2011, 08:31
|

Частый гость
 
Группа: Свой
Сообщений: 146
Регистрация: 11-08-08
Из: Kolpino
Пользователь №: 39 551

|
Цитата(juvf @ May 16 2011, 12:15)  Удалил с диска файлы boot_rom.v и boot_rom.hex. Но теперь другие ворнинги: Код Warning: Can't find design file boot_rom.v Warning: Can't find design file boot_rom.hex Не могу понять как в квартусе управлять проектом? Почему квартус ищет файлы boot_rom? Где-то в записях какихто исходников очевидно есть ссылки на них. Но где? Как ими управлять этими ссылками/настройками? Assignments -> Settings -> Files
--------------------
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|