|
imx233 |
|
|
|
 |
Ответов
|
Dec 21 2013, 11:12
|
Гуру
     
Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923

|
Помогите разобраться как работает, любые мысли. Проделал так: в линуксе собрал ubot из исходников именно для платы iMX233-OLinuXino-MAXI без ошибок все ок. Скопировал все исходники на комп с windows и CodeSourcery eclipse. Нашел файл Start.s который вызывает функцию void board_init_ll(void) а она выполняет Код void mxs_common_spl_init(const iomux_cfg_t *iomux_setup, const unsigned int iomux_size) { struct mxs_spl_data *data = (struct mxs_spl_data *) ((CONFIG_SYS_TEXT_BASE - sizeof(struct mxs_spl_data)) & ~0xf); uint8_t bootmode = mxs_get_bootmode_index();
mxs_iomux_setup_multiple_pads(iomux_setup, iomux_size);
mxs_power_init();
mxs_mem_init(); data->mem_dram_size = mxs_mem_get_size();
data->boot_mode_idx = bootmode;
mxs_power_wait_pswitch();
//если сюда добавлю вызов main из maincod там код мигания светодиодом то он после загрузки мигает. //загружаю командой sb_loader.exe -f MovGen.sb загрузка происходит только в озу ,если выключить и включить питание сетодиод уже не мигает. } Все что связано с этими кодом нашел и добавил в проект. Скомпилировал ошибок нет Цитата **** Build of configuration Release for project MovGen ****
cs-make all mkdir .\output arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -D__ASSEMBLY__ -o .\src\Start.o .\src\Start.S arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -o .\src\Spl_Boot.o .\src\Spl_Boot.c arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -o .\src\Spl_Mem_Init.o .\src\Spl_Mem_Init.c arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -o .\src\Misc.o .\src\Misc.c arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -o .\src\Timer.o .\src\Timer.c arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -o .\src\Memsize.o .\src\Memsize.c arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -o .\src\Iomux.o .\src\Iomux.c arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -o .\src\Mxs_gpio.o .\src\Mxs_gpio.c arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -o .\src\Spl_Power_Init.o .\src\Spl_Power_Init.c arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -o .\src\Hang.o .\src\Hang.c arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -o .\src\Spl_Lradc_Init.o .\src\Spl_Lradc_Init.c arm-none-eabi-gcc -c -Wvolatile-register-var -mcpu=arm926ej-s -O0 -Wall -I.\include -I\include -o .\src\MainCod.o .\src\MainCod.c arm-none-eabi-cpp -P -DBASE_ADDR=0x00002000 -o .\output\MovGen.ld .\src\MovGen.ld.in arm-none-eabi-ld -o .\output\MovGen.elf .\src\Start.o .\src\Spl_Boot.o .\src\Spl_Mem_Init.o .\src\Misc.o .\src\Timer.o .\src\Memsize.o .\src\Iomux.o .\src\Mxs_gpio.o .\src\Spl_Power_Init.o .\src\Hang.o .\src\Spl_Lradc_Init.o .\src\MainCod.o --allow-multiple-definition -static -T .\output\MovGen.ld -Lc:/bin/../lib/gcc/arm-none-eabi/4.8.1/ -u,vfprintf -lgcc arm-none-eabi-nm -n .\output\MovGen.elf > .\output\MovGen.elf.map arm-none-eabi-objcopy -R -S -O binary -R .note -R .note.gnu.build-id -R .comment .\output\MovGen.elf .\output\MovGen.bin ./elftosb -V -z -c MovGen.db -o .\output\MovGen.sb Boot Section 0x00000000: LOAD | adr=0x00000000 | len=0x00003860 | crc=0x774c1b06 | flg=0x00000000 LOAD | adr=0x00003860 | len=0x000003f8 | crc=0x4b86a49c | flg=0x00000000 LOAD | adr=0x00003c58 | len=0x000000a4 | crc=0xfe426c8f | flg=0x00000000 FILL | adr=0x00003cfc | len=0x00000004 | ptn=0x00000000 JUMP | adr=0x000000c0 | arg=0x00000000 | flg=0x00000000
**** Build Finished **** Появилось два предупреждения об не используемых функциях Description Resource Path Location Type Unused static function 'time_to_tick' Timer.c /MovGen/MovGen/src line 61 Code Analysis Problem Unused static function 'us_to_tick' Timer.c /MovGen/MovGen/src line 67 Code Analysis Problem Если кто понимает как это работает объясните пожалуйста. Где то должна быть точка входа для маин, или как то переход на адресс на какой то с которого начнется выолнение кода?
|
|
|
|
|
Dec 21 2013, 18:42
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(sergey sva @ Dec 21 2013, 15:12)  Помогите разобраться как работает, любые мысли. Проделал так: в линуксе собрал ubot из исходников именно для платы iMX233-OLinuXino-MAXI без ошибок все ок. ... Если кто понимает как это работает объясните пожалуйста. Где то должна быть точка входа для маин, или как то переход на адресс на какой то с которого начнется выолнение кода? SPL по моим представлениям не используется для imx23 / 28. SPL дублирует функциональность imx bootlets. По моему это связано с какими-то лицензионными заморочками. Я бы взял за основу linux_ivt.bd и вместо linux_prep вставил свою программу. HAB Loader обрабатывает программы по порядку как это описано в .bd файле: сначала выполняется power_prep - инициализация источников питания, после чего управление передается HAB, затем HAB выполняет boot_prep - инициализация SDRAM, после чего выполняется linux_prep. Вот вместо linux_prep вам и нужно вставить вашу программу.
|
|
|
|
|
Dec 21 2013, 20:29
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(_3m @ Dec 21 2013, 22:42)  SPL по моим представлениям не используется для imx23 / 28. SPL дублирует функциональность imx bootlets. По моему это связано с какими-то лицензионными заморочками. SPL для процессоров i.mx23/28/53/6x в майнстримном u-boot исключительно дань единообразию этого убута - не нужна для них никакая релокация внешним кодом, это все выполняет bootrom Цитата HAB Loader обрабатывает программы по порядку как это описано в .bd файле в i.mx233 нет HAB, в i.mx28 есть Цитата Вот вместо linux_prep вам и нужно вставить вашу программу. и чем это отличается от того как сделано в uboot.db ? ТС - вы пока оставьте в покое майнстримный u-boot, все что вам надо я уже описал - imx-bootlets от своей платы (если там DDR не отличается от референса EVK то не обязательно от своей платы) и elftosb, возьмите утилиту readelf (думаю должна быть под Windows) - и исследуйте свои прошивки в формате ELF, посмотрите какие ключи есть у утилиты elftosb, там можно получить дополнительную и отладочную информацию при создании образа, посмотрите ./elftosb2 --help или как он там под windows называется. Как же вы беспомощны без окон и мышей
Сообщение отредактировал sasamy - Dec 21 2013, 20:44
|
|
|
|
Сообщений в этой теме
sergey sva imx233 Dec 6 2013, 19:01 sergey sva Все вроде разобрался.) Остался один вопрос нужен ф... Dec 7 2013, 09:22 Major Для кейла подойдет?
Запуск сделан с WinCE BSP (xld... Dec 7 2013, 11:03 sergey sva Из того что есть под рукой только эта плата. Спаси... Dec 7 2013, 11:12 kovigor Цитата(sergey sva @ Dec 7 2013, 15:12) Из... Dec 7 2013, 11:31 sergey sva У меня сейчас на компьютере не установлены не iar ... Dec 7 2013, 12:26 sergey sva Вроде все ок, получаю bin файл, как теперь зашить ... Dec 7 2013, 14:54 Major В мануале написано что еcть JTAG, совмещенный с SD... Dec 7 2013, 16:16 sergey sva Как то неудобно, как максимально просто его прошит... Dec 7 2013, 17:25 Major А DDR память не подходит?
Внутреннюю имеет смысл д... Dec 7 2013, 18:08 sergey sva Хочу пока без системы, ddr подходит на плате 64мб ... Dec 7 2013, 18:28 aaarrr Цитата(sergey sva @ Dec 7 2013, 22:28) Ко... Dec 7 2013, 18:38 sergey sva uboot нужно загрузить в внутреннюю память 64кб а ... Dec 7 2013, 18:47 aaarrr Нет, в SDRAM. В 64кБ он не влезет. Dec 7 2013, 18:59 sergey sva Что то мне не понятно, как это сделать ( . проводо... Dec 7 2013, 19:05 aaarrr Цитата(sergey sva @ Dec 7 2013, 23:05) Чт... Dec 7 2013, 19:09 sasamy Цитата(sergey sva @ Dec 7 2013, 23:05) Чт... Dec 7 2013, 20:25  Golikov A. Цитата(sasamy @ Dec 8 2013, 00:25) Это вс... Dec 8 2013, 19:56 sergey sva Нужно будет прошивку часто менять и после каждой п... Dec 7 2013, 19:25 aaarrr Без ОС - это без Linux, или совсем без? Но в любом... Dec 7 2013, 19:34 sergey sva Благодарю за подробный ответ. Теперь вроде бы немн... Dec 8 2013, 08:16 sasamy Цитата(sergey sva @ Dec 8 2013, 12:16) То... Dec 8 2013, 18:13 _3m Цитата(sergey sva @ Dec 8 2013, 12:16) Бл... Dec 8 2013, 20:14 Golikov A. внутри загрузчик мелкий, он грузит с карты памяти ... Dec 8 2013, 15:11 aaarrr Зачем ручками? ENC28 на ките стоит, если не ошибаю... Dec 8 2013, 20:11 Golikov A. а... все же МАК железный. Я просто видел эту платк... Dec 9 2013, 06:36 sergey sva Спасибо выручили ). Dec 9 2013, 09:03 sergey sva Можно после компиляции загружать в sd mmc карту фа... Dec 13 2013, 10:49 _3m Цитата(sergey sva @ Dec 13 2013, 14:49) М... Dec 13 2013, 11:02 sergey sva Что то или делаю не правильно или может загрузчика... Dec 13 2013, 13:17 _3m Цитата(sergey sva @ Dec 13 2013, 17:17) Ч... Dec 14 2013, 05:22 sergey sva Mожет проблема из за карты она 4гб, а адресное про... Dec 13 2013, 16:49 sergey sva Пробовал по всякому mfgtool не получилось загрузит... Dec 14 2013, 07:53 Golikov A. защиту от записи на карте случаем не поставили? Dec 14 2013, 08:14 sergey sva Нет проверил. Dec 14 2013, 12:35 sergey sva Не в какую не работает загрузка mfgtools прогресс ... Dec 14 2013, 16:31 Golikov A. сд карты бывают многих форматов, и там при инициал... Dec 14 2013, 19:34 sergey sva Вот платка которая у меня ссылка Судя по документа... Dec 14 2013, 20:42 Golikov A. ну кроме адресного пространства карты бывают разны... Dec 15 2013, 06:35 sergey sva Скорее всего она не поддерживает sdhc Изучаю доку ... Dec 15 2013, 08:02 sergey sva Немного проясняется )) Может есть примеры исходни... Dec 19 2013, 12:32 _3m Цитата(sergey sva @ Dec 19 2013, 16:32) Н... Dec 20 2013, 07:37 sergey sva Понятно, не любят этот процессор. Dec 19 2013, 17:51 sergey sva Спасибо, видимо у меня поиск еще плохо работает ))... Dec 20 2013, 10:33 sergey sva То что с ммски не запускалась нашел причину, видим... Dec 21 2013, 14:06 sergey sva Немного понятно сейчас посмотрю. Еще вопросик -boo... Dec 21 2013, 21:48 sasamy Цитата(sergey sva @ Dec 22 2013, 01:48) Н... Dec 21 2013, 22:17 sergey sva Я не выбирал этот процессор, у меня была эта плата... Dec 22 2013, 06:37 sergey sva Возник такой вопрос скрипты одинаковые и для powe... Dec 22 2013, 19:29 sergey sva В каком файле происходит инициализация usb, плохо ... Dec 23 2013, 11:49 sergey sva Что то у меня никак линукс не хочет работать, реши... Jan 18 2014, 20:06 sergey sva Все работает )). Помогите настроить интернет на ... Feb 6 2014, 17:30 sergey sva интернет тоже заработал, в /etc/nectl есть примеры... Feb 7 2014, 17:07 sergey sva Еще проблема поставил lighttpd и fast_sgi, все сд... Feb 10 2014, 18:31 sergey sva Еще вопрос по этому процессору и плате, Как долго ... Feb 11 2014, 13:33 Golikov A. потому на компьютерах с твердотельными накопителям... Feb 11 2014, 18:36 sergey sva Понятно,попробую все лишнее отключить. php тоже за... Feb 11 2014, 22:17 sergey sva Разобрался через open write. Feb 12 2014, 01:23 sergey sva Какой программкой лучше снять образ sdmmc в window... Feb 12 2014, 13:48 Golikov A. Когда делал поддержку SD кард, очень помогало WinH... Feb 12 2014, 17:54 sergey sva Сейчас скопировал Winhex с одной карты на другую ... Feb 12 2014, 19:43 Golikov A. конечно,
почитайте про файловые системы. В любой ... Feb 12 2014, 19:48 sergey sva Не вручную же исправлять наверно утилитой какой ни... Feb 12 2014, 20:41 Golikov A. Цитата(sergey sva @ Feb 13 2014, 00:41) Н... Feb 12 2014, 21:01 sergey sva А как правильнее ? Feb 13 2014, 08:00 Golikov A. скорее как безопаснее, безопаснее через утилиту уп... Feb 13 2014, 10:34 sergey sva С этим теперь тоже все понятно, нужно отформатиров... Feb 14 2014, 18:58 sergey sva Попробовал управлять пинами через sysfs export ... Feb 19 2014, 11:44 Golikov A. похоже на смещение шины адреса при 32 (4 байтном) ... Feb 19 2014, 12:03 sergey sva Как это можно победить ? ) Feb 19 2014, 12:07 Golikov A. ну для начала надо убедиться что это так.
ну пото... Feb 19 2014, 13:51 sergey sva Линукс мне этим и нравится ,что надо сделать то не... Feb 19 2014, 18:08 sergey sva Никак не пойму почему так выходит.
Feb 20 2014, 15:30 sergey sva Попробовал через память тоже все смещено так же.
К... Feb 20 2014, 17:47 sergey sva Разобрался после долгих экспирементов, gpio нумеру... Feb 22 2014, 10:16 sergey sva Из чего могут часы сбрасываться после перезагрузки... Feb 22 2014, 15:14 sergey sva В этом микроконтроллере нет часов есть Real-time c... Feb 23 2014, 09:27 sergey sva Еще заметил такое, если отверткой коснуться корпус... Feb 23 2014, 11:46 sergey sva Что можно придумать что бы часы не сбрасывались ка... Feb 24 2014, 17:58 Golikov A. поставить внешние часы с батарейкой и с них брать ... Feb 25 2014, 07:11 sergey sva Сделал как вы посоветовали вроде все работает. У м... Mar 1 2014, 12:25 Golikov A. 12 битное АЦП дает 4096 значений, на весь свой диа... Mar 1 2014, 18:41
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|