prst 0 5 июня, 2007 Опубликовано 5 июня, 2007 · Жалоба Как можно загрузить в BlackFIN-532 - uClinux ? Щяс обрисую картину что бы был ясен вопрос: Рисую схему щяс в PCAD и развожу плату... Накачал несколько схем с примерами, обложился.... уже неделю выискаваю что где и как и как должно быть у меня.... я делаю конечную плату, цифровой части устройства одного... поднимал с нуля linux на arm9, но там хоть описанно как что и где.... много информации в инете.... тут же неясно много... и нет, ни где конкретного описания, хоть поверхностного... 8( (во всяком случае я искал и не нашел) ...вообще то маловато информации по загрузке BlackFIN-532... а про загрузку в BlackFIN-532 uClinux - вообще ни нашел ничего... помогите плз... Теперь вопросы: ....недавно, вот здесь было обсуждение, довольно важное на мое усмотрение - http://electronix.ru/forum/index.php?showtopic=32438 Так вот, в приведенной ссылке сказано: что есть какой то глюк у BlackFIN при загрузке с AT45DBхххD У меня как раз - для начальной загрузки BF532 в SPI Master Mode - используется только AT45DB642D (без - AT25256, или она обязательна для загрузки? ) то есть, я рискую не загрузить свою плату вообще (если глюк при загрузке есть какойто....) ?! если верить даташиту стр 154 BMODE[1:0] (Boot Mode)- RO 00 - Bypass boot ROM, execute from 16-bit-wide external memory 01 - Use boot ROM to load from 8-bit flash 10 - Use boot ROM to configure and load boot code from SPI serial ROM (8-bit address range) 11 - Use boot ROM to configure and load boot code from SPI serial ROM (16-bit address range)/ Планирую грузиться с AT45DB642D, я так понял что мне нужно выбирать режим загрузки BMODE=10 или если с AT25256 - то BMODE=11 вообще получится ли у меня загрузиться? но,снова неясно много: - как в AT25256 зашить программу? - как в AT45DB642D зашить программу? - Как записать uClinux? - Может на какм то этапе можно обойтись JTAG программатором - ByteBlaster ? Расскажите пожалуста попобробнее... Спрашать неукого, человек который наработал какуюто базу по этому проекту уволился.... . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 74 5 июня, 2007 Опубликовано 5 июня, 2007 · Жалоба Как можно загрузить в BlackFIN-532 - uClinux ? http://docs.blackfin.uclinux.org/doku.php?...oot_on_blackfin если верить даташиту стр 154 BMODE[1:0] (Boot Mode)- RO 00 - Bypass boot ROM, execute from 16-bit-wide external memory 01 - Use boot ROM to load from 8-bit flash 10 - Use boot ROM to configure and load boot code from SPI serial ROM (8-bit address range) 11 - Use boot ROM to configure and load boot code from SPI serial ROM (16-bit address range)/ скачайте новый даташит. 00 Execute from 16-bit external memory (bypass boot ROM) 01 Boot from 8-bit or 16-bit FLASH 10 Boot from SPI host slave mode 11 Boot from SPI serial EEPROM (8-, 16-, or 24-bit address range) но,снова неясно много: - как в AT25256 зашить программу? - как в AT45DB642D зашить программу? через jtag или можно снаружи каким-нибудь программатором подлезть. - Как записать uClinux? через u-boot - Может на какм то этапе можно обойтись JTAG программатором - ByteBlaster ? ну не то чтобы прям именно byteblasterom но похожим адаптером. http://download.analog.com/27516/frsreleas...matics_v0.8.pdf http://docs.blackfin.uclinux.org/doku.php?...ort_igloo_board Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 5 июня, 2007 Опубликовано 5 июня, 2007 · Жалоба Спасибо большое! Для начала - вполне исчерпывающе...!!! пошел читать... Если будет чтото не ясно - отпишусь.... . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bmf 0 5 июня, 2007 Опубликовано 5 июня, 2007 · Жалоба У меня как раз - для начальной загрузки BF532 в SPI Master Mode - используется только AT45DB642D Могу ошибаться но загрузчик проверяет сигнатуру serial EEPROM и именно для BF532 максимально что можно напрямую подключить по документации Analog Devices это AT45DB161 (исходники загрузчика есть в VDSP, можно посмотреть). Работу больших чипов памяти надо еще дополнительно проверять или мутить что то свое нестандартное. Предварительно убедитесь что у кого то это работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NewMaestro 0 6 июня, 2007 Опубликовано 6 июня, 2007 · Жалоба Хорошую тему завели. :) У Вас, PrSt, ход мыслей один в один как у меня пару месяцев назад, и вопросы взникают одни и теже, правда вы задали их первей чем я. Я забацал плату с BF532, наставил в нее памяти разных видов, повыводил интерфейсы, разъемы для JTAG. Платку сделали мне, закупил всю комплектуху, но собрать еще не успел. Банально, нет всех резистором 0603 :) Обошлось все в 50уе. Тоже раздумывал как зашить епромку. Есть в Минске представители у которых JTAG этот фирменный за пару штук баксов. Попрошу пусть зальют мне бутлодер в епромку, а потом буду по RS-232 заливать во flash и грузится с нее. Отсюда планирую начать операционые системы изучать. Хотя вот не знаю, может тоже нужно было с ARMа начинать. Я, в отличие от вас, в Линухе полный ноль. Предлагаю обсуждать продвижения в наших начинаниях. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MIkler 0 6 июня, 2007 Опубликовано 6 июня, 2007 · Жалоба Пользуйте 537 -й не прогадаете :) Раньше был 532 специально пришлось писать маленький загрузчик который во флешку U-boot прошивает(x-modem), и то получалось джитагом 5 минут :) В серию девайсы пойдут замучаетесь :) 537-мой грузиться может по UART, время прошивки 1 минута на всё :) Кстати про jtag писал где-то, что можно сделать просто ByteBlaster За 300 реблей, и немного доработать програмку прошивки. Чем платить 2К баксов :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 6 июня, 2007 Опубликовано 6 июня, 2007 · Жалоба Пользуйте 537 -й не прогадаете :) Раньше был 532 специально пришлось писать маленький загрузчик который во флешку U-boot прошивает(x-modem), и то получалось джитагом 5 минут :) В серию девайсы пойдут замучаетесь :) 537-мой грузиться может по UART, время прошивки 1 минута на всё :) Кстати про jtag писал где-то, что можно сделать просто ByteBlaster За 300 реблей, и немного доработать програмку прошивки. Чем платить 2К баксов :) Расскажите пожалуйста попобробнее... Что и как Вы делали на 532м? Если можно - не упуская деталей и тонкостей и с ссылками, это много обяснит и разъяснит... не могу я взять 537 -й ! вот http://www.analog.com/processors/blackfin/overview/IST.html он BGA , я не умею еще разводить BGA да еше и многослойки... пока не научился... по остальному подходит, но всеже - BGA Могу ошибаться но загрузчик проверяет сигнатуру serial EEPROM и именно для BF532 максимально что можно напрямую подключить по документации Analog Devices это AT45DB161 (исходники загрузчика есть в VDSP, можно посмотреть). к нестастью VDSP у меня нет... Вся надежда на даташит и linux... Хотя вероятно загрузчик таки прийдется писать на VDSP в силу причины что там есть симулятор... его его нужно будет найти гдето... но это уже второстепенно... Работу больших чипов памяти надо еще дополнительно проверять или мутить что то свое нестандартное. А поподробнее пожалуйста с этого места? Предварительно убедитесь что у кого то это работает. Так вот это же я и делаю, спрашиваю - Верным ли путем я мысль кую? Или гдето что то пропустил... Вы конечно не пинайте сильно но вопрос как мне какжется важный, а информации архи-мало... или всю нужно покупать в виде готовых решений... А то понимаете ли какое дело: ...купили мы STAMP... да и для начала там иная начинка... и бутится с параллельной флэшки по ходу... ...Разобрались что к чему и как.... Подняли linux... Сделали на его базе что нам нужно... а толку то? Нужно теперь делать свою плату на базе наработанного решения, уже с платы STAMP, а тут такая засада с загрузкой.... Вот я и прошу Вас вместе и дружно - зазъяснить не ясные, не понятные и нерешенные пока вопросы. Тем более что как выяснилось - это пробел в знаниях в BlackFIN не только у меня.. Оказыается есть еще такие же люди. . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MIkler 0 6 июня, 2007 Опубликовано 6 июня, 2007 · Жалоба Кстати рекомендую вам вмесчто чипа, SMC чип DM9000 дешевле просто. Загрузчик можно легко написать на gcc. :) На основе тогоже U-boot. Вы конкретнее спрашивайте что вас интересует :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 6 июня, 2007 Опубликовано 6 июня, 2007 · Жалоба Кстати рекомендую вам вмесчто чипа, SMC чип DM9000 дешевле просто. Загрузчик можно легко написать на gcc. :) На основе тогоже U-boot. Вы конкретнее спрашивайте что вас интересует :) Вы конечто же простите меня, однако накой мне нужен DM9000 ? это же езернет, его в 532м нетут попросту.... он есть в 537м... но он как я уже говорил - он BGA, а это пока гвоздь предкновенья при рассмотрени его применения... ....что конкретно интересует - я же уже писал , чуть выше, или может не совсем ясно изложил суть проблеммы? . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MIkler 0 6 июня, 2007 Опубликовано 6 июня, 2007 · Жалоба Вы много чего написали но не написали область применения. Мы юзали на нём, SPI, SPORT, Eth Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 6 июня, 2007 Опубликовано 6 июня, 2007 · Жалоба Вы много чего написали но не написали область применения. Мы юзали на нём, SPI, SPORT, Eth Область применения - устройства? Кажется мне, это не имеет значения особо, тем более что пока делается просто плата с АЦП... тоесть даже не устройство а плата, почти макетка... и нужно на ней что бы был uCLinux, ...потому что уже есть наработски с ним под STAMP . Тоесть устройства ни какого пока нет.... SPI уже занят - на нем висит скоростное устройство... его занимать нельзя по полной программе.... + SPI DataFlash и больше нельзя ни чего вешать... Eth - напроч отсутствует... SPORT - пока изучаю что могет. (....но из увиденного мало что может пригидиться мне... На данном этапе...) . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 6 июня, 2007 Опубликовано 6 июня, 2007 · Жалоба Загрузчик можно легко написать на gcc. :) На основе тогоже U-boot. а попобробнее пожалуйста? U-boot то же наверно должен стартовать с какого конкретного адресса ? Детальнее можете разъяснить? На самом деле мы рассматриваем такой вариан что бы использовать монолитную структуру программы... stand alone (non-Linux) applications - тоесть то что обычно делают под VisualDSP.... ....вот здесь есть некоторая инфа http://docs.blackfin.uclinux.org/doku.php?...ort_igloo_board jtag> endian little jtag> flashmem 0x20000000 /your/path/u-boot.bin я так понимаю что свой бинарик нужно грузить через JTAG по адрессу 0x20000000, я все верно понял? думаю да... а сам бинарик должен быть какой? ELF? ...более того... и собран же наверно как standalone? и еще более того... есть вопросик еще один... компилятор у нас gcc linux-овый... а вот здесь есть некоторая информация интересная - http://docs.blackfin.uclinux.org/doku.php?id=gcc_and_gas и сказано : ... bfin-elf-gcc linked against gcc's own newlib library. The bfin-elf-* toolchain should be used to build non-kernel and non-uClibc applications. bfin-uclinux-gcc linked against uClibc, which was built by the bfin-elf-* toolchain. Use this to build the kernel and kernel modules. Use this to build all userspace applications in the FLAT format. bfin-linux-uclibc-gcc linked against uClibc, which was built by the bfin-elf-* toolchain. Use this to build all userspace applications in the FDPIC ELF format. The first bfin-elf-gcc is optimized to produce stand alone (non-Linux) applications, like Das U-Boot. Although it boots the kernel it does not need to be relocated and does not need to use elf2flt to produce a Flat file for loading by the kernel. This version of the compiler is designed to be Operating System independent. The second bfin-uclinux-gcc has some features added to generate PIC (Program Independent Code) code without a GOT (Global Offset Table). This works better when working with elf2flt to produce user code executables. Only the bfin-uclinux-gcc can generate a Linux kernel or user land applications that run under Linux. When you build bfin-uclinux-gcc, it builds 2 copies of uClibc, one for flat executables, and one for ELF executables. The compiler is smart enough to know which one to include, depending on the output type, specified on the command line. The third bfin-linux-uclibc-gcc is designed purely for compiling userspace applications in the FDPIC ELF format. This format is useful for sharing the same executable code among applications at the price of slightly higher overhead at runtime. A must for people using many shared libraries and applications and wish to share resources. ... тоесть я верно понял - если собирать через bfin-elf-gcc то можно собрать все монолитно и без использования OS Linux ??? тоесть и получить - stand alone (non-Linux) applications . Я верно понял? . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Itch 0 6 июня, 2007 Опубликовано 6 июня, 2007 · Жалоба Я на BF531 поставил AT45DB081B + AVR. С помощью AVR можно будет и просто загружать Blackfin с компа, так и прошивать память. Плюс ко всему можно будет организовать мало-мальскую защиту от копирования, часть алгоритма переместив в AVR. В вашем случае, если хотите ставить большую флешку, то прийдется либо написать загрузчик под Blackfin и грузить его с мелкой AT25, а потом он уже по SPORT'у будет тянуть тяжелый линух, либо ставить мелкий контроллер, который будет читать из AT45DB642D и грузить проц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 6 июня, 2007 Опубликовано 6 июня, 2007 · Жалоба скачайте новый даташит. 00 Execute from 16-bit external memory (bypass boot ROM) 01 Boot from 8-bit or 16-bit FLASH 10 Boot from SPI host slave mode 11 Boot from SPI serial EEPROM (8-, 16-, or 24-bit address range) да, действительно у меня был чуть устаревший даташит, в новом даташите есть отличет http://www.analog.com/en/epProd/0,,ADSP-BF532,00.html кстати и errata тут же... ... BOOTING MODES The ADSP-BF531/ADSP-BF532 processor has two mechanisms (listed in Table 8) for automatically loading internal L1 instruction memory after a reset. A third mode is provided to execute from external memory, bypassing the boot sequence. Table 8. Booting Modes BMODE1–0 Description 00 Execute from 16-bit external memory (bypass boot ROM) 01 Boot from 8-bit or 16-bit FLASH 10 Boot from SPI host slave mode 11 Boot from SPI serial EEPROM (8-, 16-, or 24-bit address range) The BMODE pins of the reset configuration register, sampled during power-on resets and software-initiated resets, implement the following modes: • Execute from 16-bit external memory – Execution starts from address 0x2000 0000 with 16-bit packing. The boot ROM is bypassed in this mode. All configuration settings are set for the slowest device possible (3-cycle hold time; 15-cycle R/W access times; 4-cycle setup). • Boot from 8-bit or 16-bit external flash memory – The flash boot routine located in boot ROM memory space is set up using asynchronous memory bank 0. All configuration settings are set for the slowest device possible (3-cycle hold time; 15-cycle R/W access times; 4-cycle setup). • Boot from SPI serial EEPROM (8-, 16-, or 24-bit addressable) – The SPI uses the PF2 output pin to select a single SPI EEPROM device, submits successive read commands at addresses 0x00, 0x0000, and 0x000000 until a valid 8-, 16-, or 24-bit addressable EEPROM is detected, and begins clocking data into the beginning of L1 instruction memory. For each of the boot modes, a 10-byte header is first read from an external memory device. The header specifies the number of bytes to be transferred and the memory destination address. Multiple memory blocks may be loaded by any boot sequence. Once all blocks are loaded, program execution commences from the start of L1 instruction SRAM. In addition, Bit 4 of the reset configuration register can be set by application code to bypass the normal boot sequence during a software reset. For this case, the processor jumps directly to the beginning of L1 instruction memory. ... а вот здесь вообще подробно расписанно про неприятность с AT45DB642D http://www.analog.com/UploadedFiles/Applic...268EE240v03.pdf . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MIkler 0 7 июня, 2007 Опубликовано 7 июня, 2007 · Жалоба а попобробнее пожалуйста? U-boot то же наверно должен стартовать с какого конкретного адресса ? Детальнее можете разъяснить? На самом деле мы рассматриваем такой вариан что бы использовать монолитную структуру программы... stand alone (non-Linux) applications - тоесть то что обычно делают под VisualDSP.... ....вот здесь есть некоторая инфа http://docs.blackfin.uclinux.org/doku.php?...ort_igloo_board jtag> endian little jtag> flashmem 0x20000000 /your/path/u-boot.bin я так понимаю что свой бинарик нужно грузить через JTAG по адрессу 0x20000000, я все верно понял? думаю да... а сам бинарик должен быть какой? ELF? ...более того... и собран же наверно как standalone? и еще более того... есть вопросик еще один... компилятор у нас gcc linux-овый... а вот здесь есть некоторая информация интересная - http://docs.blackfin.uclinux.org/doku.php?id=gcc_and_gas и сказано : 0x2000 0000 - Это AMS0 на который вешаеться флешка, соответственно таким образом осуществляеться доступ до неё. Для апликации отдельной как раз можно переделать U-boot добавив прерывания и так далее. Чтобы компилять нужен bfin-elf-gcc Также рекомендую почитать о структуре линковочных файлов. .lds Примеры можно найти в томже U-boot там можно видеть как из флешки вытаскиваются нужные секции, и организована адресация. Ну и почитать как грузиться 532 -й, по блокам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться