Полная версия этой страницы:
imx233
sergey sva
Dec 6 2013, 19:01
Сегодня в руки попала платка с imx233, посмотрел немного в сети, в основном его используют с линуксом. И не одного примера не нашел без ос. Какие могут быть подводные камни если его использовать без ос?
Компиляторы для него также gcc keil iar ? и не совсем понял как в него загружать hex.
sergey sva
Dec 7 2013, 09:22
Все вроде разобрался.) Остался один вопрос нужен файл startup если у кого под рукой есть киньте плз, или где его искать подскажите, сейчас смотрю сборки линукса для imx233, но пока не смог найти он может как-то называется по другому.
Для кейла подойдет?
Запуск сделан с WinCE BSP (xldr).
В архиве часть файлов из тестовых проектов (все отдать не могу). Работал два года назад на фирменой плате, на стратер-китовой и на своей.
Если будут проблемы, наверное соберу рабочую версию проекта.
233 уже пожилой проц, зачем он вам? (сейчас кортексы рулят).
sergey sva
Dec 7 2013, 11:12
Из того что есть под рукой только эта плата. Спасибо сейчас посмотрю.
kovigor
Dec 7 2013, 11:31
Цитата(sergey sva @ Dec 7 2013, 15:12)

Из того что есть под рукой только эта плата. Спасибо сейчас посмотрю.
IAR должен предоставлять, по идее, стартап-файл для этого МК. МК не новый, мягко говоря. Думаю, IAR его поддерживает. Кейл - не факт, но все может быть.
Я когда-то так поднимал AM1707 от TI. Там тоже только Линукс. Из "подводных камней" - очень большая сложность самого МК, неполная и неудачная документация на МК и другие чисто первопроходческие трудности. Есть острая необходимость в подобном монстре ? Тогда осваивайте ...
sergey sva
Dec 7 2013, 12:26
У меня сейчас на компьютере не установлены не iar не keil. Для gcc бы startup. Сейчас переделаю тот что дали выше, если есть под gcc киньте
sergey sva
Dec 7 2013, 14:54
Вроде все ок, получаю bin файл, как теперь зашить в эту плату
ссылка ?
В мануале написано что еcть JTAG, совмещенный с SD.
Есть еще одноверевочный SJTAG, но для него надо иметь CPLD, которая светит на JTAG.
Есть DUART, но лучше купить сегера или клон.
sergey sva
Dec 7 2013, 17:25
Как то неудобно, как максимально просто его прошить?, со временем куплю сегер. Сейчас нужно подручными средствами прошить. duart наверно самое простое. а как утиитка называется?, на сайте у freeskale вечность пройдет пока все пересмотришь.
у этого контроллера очень мало внутренней памяти 64 кб и 32озу.
С этой платой всего 2 дня разбираюсь поэтому возникают простые вопросы, реально сделать такое: в внутреннюю память поместить tcp и что бы после включения питания контроллер получал bin от пк, грузил его в озу и запускал его на выполнение?
А DDR память не подходит?
Внутреннюю имеет смысл для тестов использовать, пока систему не поднял.
А потом ее отдать под вектора/кэш кода+данных/быстрая память.
Про загрузку все есть в ref manual (глава 35).
С уарта он не может грузиться, только с USB ил с SD-карты (если внешне).
Про уарт думалось, потому что WinCE его пользует. Но по факту все через УСБ. Весь софт на сайте фрискейла был.
Тут не помогу, программист для WInCE это делал. Я только жтагом пользовался, когда HAL поднимал под свою плату.
sergey sva
Dec 7 2013, 18:28
Хочу пока без системы, ddr подходит на плате 64мб есть но в нее как то нужно записать. Как сделать загрузку бинарника в эту плату без заморочек . Код будет часто менять, хотелось бы попроще сделать загрузить в плату?
Цитата(sergey sva @ Dec 7 2013, 22:28)

Код будет часто менять, хотелось бы попроще сделать загрузить в плату?
Тогда u-boot и TFTP.
sergey sva
Dec 7 2013, 18:47
uboot нужно загрузить в внутреннюю память 64кб а он уже будет грузить в озу?
Нет, в SDRAM. В 64кБ он не влезет.
sergey sva
Dec 7 2013, 19:05
Что то мне не понятно, как это сделать ( . проводов у меня нет для этого контроллера. Записать на ммску и установить загрузку с нее. Ладно гадать не буду завтра попробую разобраться, если будут советы рекомендации, буду очень благодарен.
Цитата(sergey sva @ Dec 7 2013, 23:05)

Что то мне не понятно, как это сделать ( . проводов у меня нет для этого контроллера. Записать на ммску и установить загрузку с нее. Ладно гадать не буду завтра попробую разобраться, если будут советы рекомендации, буду очень благодарен.
Для загрузки годится USB-кабель или карта SD/MMC.
sergey sva
Dec 7 2013, 19:25
Нужно будет прошивку часто менять и после каждой перепрошивки перезагрузить плату. После она должна работать через tcp получать и передавать команды с пк. Это реально сделать без ос ?
Без ОС - это без Linux, или
совсем без? Но в любом случае реально.
Но под ОС сделать еще реальнее

И быстрее.
Цитата(sergey sva @ Dec 7 2013, 23:05)

Что то мне не понятно, как это сделать ( . проводов у меня нет для этого контроллера.
Все можно загрузить через USB, посмотрите MfgTool для своей платы, отправная точка для написания своего кода - imx-bootlets. Бинарник в формате ELF нужно преобразовать в специальный формат (sb) утилитой elftosb. Возьмите за основу как готовится образ u-boot
uboot.db
CODE
// STMP378x ROM command script to load and run U-Boot
sources {
power_prep="./power_prep";
sdram_prep="./boot_prep";
image="./u-boot";
}
section (0) {
//----------------------------------------------------------
// Power Supply initialization
//----------------------------------------------------------
load power_prep;
call power_prep;
//----------------------------------------------------------
// SDRAM initialization
//----------------------------------------------------------
load sdram_prep;
call sdram_prep;
//----------------------------------------------------------
// Load and call u_boot - ELF ARM image
//----------------------------------------------------------
load image;
call image;
}
вместо image="./u-boot"; подставьте имя своего бинарного файла в формате ELF, power_prep, boot_prep - бинарники получнные после сборки imx-bootlets, подготовка имиджа командой
./elftosb2 -z -c ./uboot.db -o uboot.sb
С заводсики установками процессора образ должен быть зашифрован, по умолчанию ключ - все поля нули, параметр -z elftosb служит для шифрования нулевым ключем
-z/--zero-key Add default key of all zeroes
Если внешнюю память не собираетесь использовать то модно не инициализировать - исключить загрузку sdram_prep из файла .db
Имидж можно загрузить через USB (MfgTool, sbloader), можно с носителя. Например для MMC можно записать этим скриптом
CODE
#!/bin/sh
echo -e "\033[1mUsage: sudo ./part disk_name [image.sb]\033[0m"
echo -e "\033[1mExample: sudo ./part /dev/mmcblk0 uboot.sb\033[0m"
exit
fi
if [ ! -b "$1" ]; then
echo -e "\033[1mError: $1 disk not found\033[0m"
exit
fi
if [[ "$1" =~ mmc ]]; then
p="p"
else
p=""
fi
dd if=/dev/zero of=$1 bs=512 count=1
sfdisk --force -uM $1 << EOF
,16,0x53
,,0x83
EOF
if [ ! -b "${1}${p}1" ]; then
echo -e "\033[1mError: partition ${1}${p}1 not found\033[0m"
exit
fi
if [ -n "$2" ]; then
echo -e "\033[1mWriting image $2 to partition ${1}${p}1 ...\033[0m"
dd if=/dev/zero of=${1}${p}1 bs=512 count=4
dd if=$2 of=${1}${p}1 bs=512 seek=4 conv=sync,notrunc
fi
Это все примеры для Linux, кроме утилит загрузки (MfgTool, sbloader), как сделать в Windows к сожалению не могу подсказать - по сути вам нужно только найти elftosb для Windows, проще наверно виртуалку с Linux поставить. Вы тут пару раз про TCP упоминали, имейте ввиду - встроенного EMAC у этих процессоров нет.
sergey sva
Dec 8 2013, 08:16
Благодарю за подробный ответ. Теперь вроде бы немного стало понятно. Только не смог найти утилиту под виндовс elftosb2.
Golikov A.
Dec 8 2013, 15:11
внутри загрузчик мелкий, он грузит с карты памяти остальное. В 64К можно и ТСР стэк уместить в целом и грузиться сразу через езернет, но все таки хочется обычно чтобы железка была хоть чуток самостоятельна, так что грузиться надо с карты памяти.
Цитата(sergey sva @ Dec 8 2013, 12:16)

Только не смог найти утилиту под виндовс elftosb2.
Исходники открыты
http://repository.timesys.com/buildsources...10.12.01.tar.gzЦитата
Building
On Windows, open the .sln file in Microsoft Visual Studio. The solution contains projects
for each of the individual projects, including the old elftosb 1.x and related tools.
Golikov A.
Dec 8 2013, 19:56
Цитата(sasamy @ Dec 8 2013, 00:25)

Это все примеры для Linux, кроме утилит загрузки (MfgTool, sbloader), как сделать в Windows к сожалению не могу подсказать - по сути вам нужно только найти elftosb для Windows, проще наверно виртуалку с Linux поставить. Вы тут пару раз про TCP упоминали, имейте ввиду - встроенного EMAC у этих процессоров нет.
И что ручками что ли все делается? Вся кухня с физикой на прерываниях и таймерах? А что линукс именно так работает с ethernet-ом? Во как грустно...
Зачем ручками? ENC28 на ките стоит, если не ошибаюсь. Или какой-нибудь USB-LAN можно приспособить. А Линукс - он разнообразно с Ethernet'ом работает, в т.ч. и через такие "костыли".
Цитата(sergey sva @ Dec 8 2013, 12:16)

Благодарю за подробный ответ. Теперь вроде бы немного стало понятно. Только не смог найти утилиту под виндовс elftosb2.
Вот три утилиты под винду:
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаСофт под imx28, но они по документации работают и с imx23.
CFImager нужен чтобы записать *.sb файл в загрузочном виде на SD карту
elftosb - делает sb из одного или нескольких elf. Виндовой версией я не пользуюсь, создаю sb в линуксе.
sb_loader - заливает sb файл в проц по USB.
Golikov A.
Dec 9 2013, 06:36
а... все же МАК железный. Я просто видел эту платку на ней езернет был, и подумал контроллер без мака, а езернет есть, не руками же...
sergey sva
Dec 9 2013, 09:03
Спасибо выручили ).
sergey sva
Dec 13 2013, 10:49
Можно после компиляции загружать в sd mmc карту файл test.sb вставленную в плату через сам процессор imx что бы карту не переставлять каждый раз в картридер ?
Цитата(sergey sva @ Dec 13 2013, 14:49)

Можно после компиляции загружать в sd mmc карту файл test.sb вставленную в плату через сам процессор imx что бы карту не переставлять каждый раз в картридер ?
Можно с помощью mfgtool
sergey sva
Dec 13 2013, 13:17
Что то или делаю не правильно или может загрузчика в этой плате нет, после того как подключаю usb к пк в диспетчере задач появляется usb устройство с ошибкой
Цитата
Система Windows остановила это устройство, так как оно сообщило о возникновении неполадок. (Код 43)
Сбой запроса дескриптора USB-устройства.
Загрузка джамперами выбрана сsdmmc.
Решил вначале проверить плату с тем что есть. скачал с сайта mfgtool если правильно понял он грузит готовый образ линукса на карту и монтирует ее.
Переключил джамперы загрузка с usb. В диспетчере устройств появилось hid совместимое устройство. в MFGtool тоже появилось.
Нажимаю старт появляется
Цитата
Booting update firmware
прогресс доходит до конца и на этом все останавливается. и появляется ошибка
Цитата
Reason is unknown,failed to run command: type="boot" body="Recovery" file="updater.sb" timeout="10" onError="" text="Booting update firmware" Превышен таймаут семафора.
mmcка (4гига) должна быть отформатирована в fat32 или ее вначале нужно сделать загрузочной а потом можно будет менять через usb ?
sergey sva
Dec 13 2013, 16:49
Mожет проблема из за карты она 4гб, а адресное пространство контроллера 1гб думал что просто не будет видеть больше 1гбайта?
Цитата(sergey sva @ Dec 13 2013, 17:17)

Что то или делаю не правильно
Для mgftool нужно переключать джамперы на загрузку с usb, появится HID устройство.
updater.sb должен быть собран под вашу плату. Если ваша плата отличается от фрискейловской - работать не будет.
карта 4 гига будет видна. По моему ее можно вообще не форматировать - загрузочный блок пишется в обход ФС командой dd. Rootfs на карте как я понимаю вам не нужна.
sergey sva
Dec 14 2013, 07:53
Пробовал по всякому mfgtool не получилось загрузить, даже если бы не работало, но загрузиться должно.
Golikov A.
Dec 14 2013, 08:14
защиту от записи на карте случаем не поставили?
sergey sva
Dec 14 2013, 12:35
Нет проверил.
sergey sva
Dec 14 2013, 16:31
Не в какую не работает загрузка mfgtools прогресс доходит до install mmcsd и вылетает ошибка.
Решил проверить плату просто помегать светодиодом. загрузил через sb_loader, загрузилось светодиод мигает, значит usb исправен.
Golikov A.
Dec 14 2013, 19:34
сд карты бывают многих форматов, и там при инициализации разные пути и регистры, может он на маленькие карты рассчитан а вы ему повышенной емкости воткнули?
sergey sva
Dec 14 2013, 20:42
Вот платка которая у меня
ссылка Судя по документации адресное пространство 1гб, у меня была на 4 гагабайта. Карда мимни sdmms.
Посоветуйте идею как сделать такое, в внутренней памяти микроконтроллера загрузчик который запускается от перемычки он должен загружать на ммску прошивку по сети, перемычку размыкаем запускается программа с ммски, может уже есть готовое, что бы не заниматься изобретением велосипеда?
Golikov A.
Dec 15 2013, 06:35
ну кроме адресного пространства карты бывают разные. Посмотрите процесс инициализации СД карты увидите о чем я.
Вы только что описали стандартный загрузчик. Если стоит сигнал загрузки через него, в вашем случае перемычка, он поднимает ftp сервер, через который данные грузятся на СД карту. После этого снимаете перемычку и ресет (вместо перемычки можно и команду по езернет), перезагрузка и запуск с карты.
Есть ли такой готовый именно для вашей платы не знаю, но в целом это обычная штука...
sergey sva
Dec 15 2013, 08:02
Скорее всего она не поддерживает sdhc Изучаю доку но пока не нашел какие карты поддерживает этот процессор.
Буду использовать если получится uboot , другие варианты загрузки не очень удобны(. Не приходилось разбираться с uboot, простой вопрос у меня есть testbin.sb Это простой бинарник который мигает светодиодом, что бы загрузчик передал ему управление нужно в скрипте ld перед сборкой testbin указать определенный адрес, не совсем понимаю как это работает(
sergey sva
Dec 19 2013, 12:32
Немного проясняется )) Может есть примеры исходников первичной инициализации после включения питания?Обычно примеры на сайте производителя, но или я плохо смотрю или не то смотрю.
sergey sva
Dec 19 2013, 17:51
Понятно, не любят этот процессор.
Цитата(sergey sva @ Dec 19 2013, 16:32)

Немного проясняется )) Может есть примеры исходников первичной инициализации после включения питания?Обычно примеры на сайте производителя, но или я плохо смотрю или не то смотрю.
Все есть в LTIB. Отступление от предлагаемых производителем инструментов означает что вы делаете все сами на
пустом месте.
Первичная инициализация делается с помощью imx-bootlets
Исходники (первая попавшаяся ссылка из гугла)
ТынцЕще можете глянуть IMX_OBDS от imx28.
Цитата(sergey sva @ Dec 19 2013, 16:32)

Понятно, не любят этот процессор.
Вы не умеете его готовить. Надо брать u-boot/barebox, ltib, yocto и т.п
sergey sva
Dec 20 2013, 10:33
Спасибо, видимо у меня поиск еще плохо работает )) это не находил спасибо. Еще вопрос объясните просто ( на пальцах ) Что делать , цель: нужно сделать програмку которая будет работать из ммс карты. Операционная система не нужна, Первичную инициализацию берем к примеру из исходника imx-bootlets по ссылке выше. В том коде где то есть вызов main в конце инициализации правильно?
sergey sva
Dec 21 2013, 11:12
Помогите разобраться как работает, любые мысли. Проделал так: в линуксе собрал 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
Если кто понимает как это работает объясните пожалуйста.
Где то должна быть точка входа для маин, или как то переход на адресс на какой то с которого начнется выолнение кода?
sergey sva
Dec 21 2013, 14:06
То что с ммски не запускалась нашел причину, видимо когда пояли плату тута попал припой, промыл все заработало.
Буду дальше разбираться, если есть советы давайте все быстрее разберусь с вашей помощью. ))
Цитата(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 вам и нужно вставить вашу программу.
sasamy
Dec 21 2013, 20:29
Цитата(_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 называется. Как же вы беспомощны без окон и мышей
sergey sva
Dec 21 2013, 21:48
Немного понятно сейчас посмотрю. Еще вопросик -bootlets выполняет первичную инициализацию, а где происходит настройка усб ,потом наверно нужно проинициализировать lan9512. Думаю гдето в ядре?
Может вообще зря хочу запустить все без линукса, причина одна мне нужны прерывания с частой 1мкс.
Еще не очень понятно как работают прерывания от таймера с ос линукс. После выполнения кода bootlets, таймер настраивается на прерывания с частотой 1милисек а в kernel где то лижит обработчик вектор которого записан в контроллер прерываний от таймера, правильно ?
sasamy
Dec 21 2013, 22:17
Цитата(sergey sva @ Dec 22 2013, 01:48)

Немного понятно сейчас посмотрю. Еще вопросик -bootlets выполняет первичную инициализацию, а где происходит настройка усб ,потом наверно нужно проинициализировать lan9512. Думаю гдето в ядре?
Может вообще зря хочу запустить все без линукса, причина одна мне нужны прерывания с частой 1мкс.
У вас сплошные взаимоисключения - я лично не понимаю зачем вы выбрали i.mx23: нужна сеть а встроенного emac нет и выбираете изначально тухлый вариант с usb, собирались уместить все в IRAM (судя по всему код небольшой) - зачем-то взяли процессор с внешней памятью и MMU, нужен реалтайм который раком поставит любую GPOS и раздумываете насчет Linux. Это процессор для нетребовательных портативных мультимедийных приложений (встроенная система питания с драйвером заряда Li-Ion, встроенный пиксельный процессор и контроллер LCD, встроенный аудикодек) - вам нужно как раз то чего там нет, а то что там есть судя по всему не нужно совсем.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.