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

 
 
> imx233
sergey sva
сообщение Dec 6 2013, 19:01
Сообщение #1


Гуру
******

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



Сегодня в руки попала платка с imx233, посмотрел немного в сети, в основном его используют с линуксом. И не одного примера не нашел без ос. Какие могут быть подводные камни если его использовать без ос?
Компиляторы для него также gcc keil iar ? и не совсем понял как в него загружать hex.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergey sva
сообщение Dec 21 2013, 11:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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

Если кто понимает как это работает объясните пожалуйста.
Где то должна быть точка входа для маин, или как то переход на адресс на какой то с которого начнется выолнение кода?
Go to the top of the page
 
+Quote Post
_3m
сообщение Dec 21 2013, 18:42
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 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 вам и нужно вставить вашу программу.
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 21 2013, 20:29
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 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 называется. Как же вы беспомощны без окон и мышей sm.gif

Сообщение отредактировал sasamy - Dec 21 2013, 20:44
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 09:33
Рейтинг@Mail.ru


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