Перейти к содержанию
    

Atridies

Свой
  • Постов

    489
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Atridies


  1. Во-первых есть специализированные программы типа FileForFiles с гибко настраиваемым фильтрами и поиском сразу на нужную глубину и по нескольким поисковиками сразу

    Во-вторых за годы работы я создал свою собственную базу данных в которой я молниеносно могу найти нужную мне информацию по тому или иному компоненту, корпусу, фирме, продавцу, ГОСТ-у, и т.п.

    Поэтому запоминать наизусть у кого какой корпус и по какому ТУ что сделано нет никакой необходимости

     

    Запоминать - никто не требует. Но факт: у Вас есть знание отечественной и иностранной элементной базы. Пользуйтесь этим.

     

    Писал же (читайте что выделено жирным):

     

    Да какой-то там "резюме". Нет конечно. Такое вывешивать - только позориться. И вытсавлять себя на посмешище.

    Как уже выше сказал один товарищ: студенты и то больше знают и умеют

     

    Ну если Вы напишите: "30 лет занимался во ФГУП - ерундой" - конечно. А если Вы напишите: "глубокое знание АСУТП, 30-летний опыт разработки, поддержки, авторского надзора - систем управления, контроллеров, исполнительных механизмов" - это уже существенно лучше.

    А если еще: "десятки разработанных изделий работают много лет на реальном производстве" - это будет вообще круто.

     

    А вообще: знания, которые Вы приобрели и потеряли не переварив их в опыт - ничего не стОят. Опыт - стОит многого. Вы можете выделять время на шабашки вне работы? Лично я так поступил - когда понял предел своего предприятия. 5 лет шабашек в разных областях и всё: мое резюме кружило головы работодателям.

     

     

    А что не так?

    У меня в жизни есть такие примеры: когда человек приходил в фирму простым иженером и через год два уже возглавлял её

    И был сыном собственника предприятия :). Или все вышестоящие внезапно отравились :). Такое бывает, но это редчайшее исключение из правил. Это надо быть 7 пядей во лбу и иметь чрезвычайно подвешенный язык, чтобы красиво себя подать руководству.

    Потому как в нормальной ситуации - между инженером и директором - 1...5 человек, которые тоже норовят получить должность повыше.

    И скажу честно: такие вопросы отпугивают работодателя. Слишком завышенные требования.

     

    Тем более я много не хочу.

    Тысяч 150..200 в месяц (если по нынешнему курсу) и мне больше не надо.

    Чтобы я мог успеть накопить на машину и дачу и отоложить "на черный день" и внукам/детям иногда подарки дарить и старым родителям помогать материально.

     

    Что для этого нужно?

    Освоить ПЛИС? Или DSP?

    Может написать RTOS?

     

    150...200 - вряд ли, но 60-100 вполне.

     

    RTOS - писАть не советую: слишком геморройно и бессмысленно. Их много уже наклепали.

     

    Мне это по силам.

    Дайте мне только месяца два-три "посидеть/повникать" и я начну УСПЕШНО конкурировать с теми кто работает по 15-20 лет.

     

    Но работодатели без опыта не берут.

    А чтобы учиться самостоятельно нужно полностью погрузиться с головой в эти ПЛИСы/DSP.

    Если учить урывками (после работы и т.п.) то толком ничего не выучишь. На должном уровне.

    Нужно ПОЛНОЕ погружение. А у меня его нет.

     

    Наверное можно найти работу с ПЛИС-ами, за 30-50 тыс. где могут взять без особого опыта. За полгода поднатореть и потом рвануть дальше... Один фиг - лучше так, чем сидеть на попе ровно. У себя Вы точно знаете, что лучше не будет. В другом месте - возможно будет лучше.

  2. Зачем все это держать в голове, когда это гуглится за 10-15 минут?

    И потом, элементная база так стремительно развивается и её номенклатура так стремительно растет, что даже генеральные направления развития держать в голове не реально.

     

    Не говоря уж о том, чтобы помнить наизусть какой корпус у какой микросхемы какой фирмы и какие у неё параметры

     

    1. научите в гугле - находить быстро микросхемы. И еще отечественные :). И желательно с ВП. Буду очень благодарен. Честно!

    2. Не надо знать какой корпус у какой микросхемы. Но знать, что такое TQFP и чем он отличается от PLCC и QFN - знать надо. Касаемо отечественной базы: чем КТ-46 отличается от KT-94.

    3. Знать что international rectifier - не выпускает ОУ - тоже полезно.

     

    Я столько всего <писал в стол> учил для себя (осввоил несколько программ для 3D моделирования, осваивал С++, Delphi, Verilog, VHDL, написание как оконных приложений так и драйверов, прогаммирование ПЛИС, DSP и MCU, специализированные программы моделирования, разработки своих RTOS и компиляторов и прочее и прочее столько всего за период с 1991-го по 2010 годы было изучено - просто уму непостижимо)

     

    А в результате НИГДЕ в реальных проектах это не пригодилось.

    И не использовалось. Поэтому очень быстро все забылось.

    И денег соответственно НИКАКИХ мне эти знания не принесли.

    Только зря потраченное время и скандалы в семье что я вечно чего-то учу а на семью у меня нет времени.

     

     

    Так значит у Вас есть много знаний? Преобразуйте их в опыт ! И отразите это в резюме.

     

     

    Вы знаете, учение для себя - это хорошо. Ну найдите же наконец - подработку вне рабочего времени (дома). Фриланс называется. Ваши знания - пригодятся. Сделаете работу - внесите ее в резюме. Плюс к зарплате, и плюс - в резюме. Десять разных проектов и ваше резюме - расцветет.

    Кстати повторюсь: Ваше резюме вывешено на сайтах поиска работы?

  3. Всегда меня удивляет эта строка в тексте вакансий: "знание отечественной {или иногда пишут импортной} элементной базы"

     

    Что под этим понимается?

    Ну использовал я во всех своих разработках 2-3 типа транзисторов, реле, оптронов и микросхем. И 2-3 типа проводов и кабелей и разъемов.

    Это считается, что я знаю элементную базу или нет?

     

    Под этим понимается:

    1. знание производителей элементной базы,

    2. знание, что отечественные элементы - есть.

    3. знание основных производителей этой базы (хотя бы 10 контор).

    4. понимание примерного уровня.

    5. знание, какие корпуса используются в современных полупроводниках и микросхемах.

    6. умение найти компонент по заданным требованиям.

     

    Вы, например знаете, что у нас с десяток компаний - производят микроконтроллеры (в т.ч. с ядром Cortex-M0/M3) ? Вы знаете, что у нас есть свои DSP и FPGA ?

     

     

    Много чего делал "чисто для себя". Потому что на работе моей, увы, это все не востребовано и никто доплачивать мне за знание 3D или программирования не будет

     

    Вот тут и кроется загвоздка. Предприятиям не нужен ученик - им нужен работник. И сэкономить лишние 100 тыс. руб за 3 месяца обучения - это ничто по сравнению с тем, что Вы через 3 месяца - освоите. Спец за эти 3 месяца - сделает цельное устройство.

     

    И кстати, за знание программирования микроконтроллеров - железячнику могут доплачивать. А у программиста MCU - знание железа - вообе на вес золота. Потому что "чистый программист" - это проблема для железячника и руководства. За возможность - прикрыть своего коллегу, который вдруг заболел, а фирме надо проверить код, который вроде рабочий, но где-то глючит - работодатель тоже готов иногда заплатить.

    Конечно, это не спец доплаты - отдельным счетом, но программист микроконтроллеров без знания железа получает меньше, чем программист со знанием железа.

     

    И еще хочу сказать: надо расширять свой кругозор (скиллы). Не надо на вашей фирме, а на другую не берут - возьмите подработку. Я как-то просто просчитывал одному человеку - скорость шифрования, так мне потребовалось разузнать, что такое шифры DES, 3DES, AES, RC, потоковые/блочные и др. Почитав это дело - я с шифровальшиками начал разговаривать на одном языке. И когда в другой задаче появилось требование - зашифровать данные: у меня не было проблем, чтобы предложить человеку несколько решений с расчетами скорости.

    Однажды делал схему и плату с ethernet. Пока разобрался, зачем нужен MII, RMII, SMI, MDIO - потратил кучу времени (своего - домашнего). Но зато потом: все следующие разы - делалось на одном дыхании.

     

    Короче - знания стОят денег. Но они же - деньги и приносят.

     

     

     

     

    P.S. "Я в курсе. Банальную маленькую "рацуху" чтобы внедрить пришлось лет 5 "биться головой об стену"." Плюньте ВЫ на свое предприятие. Не боритесь. Оглянитесь вокруг: целый мир с сотнями фирм, тысячами спецов. Предприятие - это забота руководства. Ваша забота - это ваша карьера и заработок. Не получается одну стену сломать - обойдите ее или сверните.

     

    P.P.S. "Вот у нас субподрядчики модернизировали за большие бапки (нам, аборигенам предрприятия, столько и не снилось, сколько наши начальники платили инженерам со стороны) отдельный узел системы." Вот и ответ на вопрос: есть ли люди - получающую такую зарплату.

    А ваше начальство лжёт и пользуется тем, что вам сейчас некуда идти.

     

    И правы студенты, когда пытаются попробовать всё новое. У них - это любопытство, которое в будущем принесет свои плоды.

  4. Ну не знаю. О каких "сотнях кампаний" идет речь? Где Вы их видели?

    Прямо сейчас посмотрел СЮДА

     

     

    Это список вакансий за последние 2 недели.

    Что видим?

    Что именно для электронщиков разработчиков (а не эксплуатационщиков, ремонтников и т.п.) вакансии с зп от 60 тыс. руб всего есть всего в трех организациях:

    1. ОАО НПП Темп им. Ф. Короткова

    2. АО Радар ММС

    3. ОАО МПО Им. И.Румянцева.

     

    НА ВСЮ МОСКВУ

     

    Причем в АО "Радар" ЗП не указана. Может там вообще 30 тыс.

     

    О каких десятках вакансий со сто тысячными зарплатами речь

     

    Вакансии на з/п в 100 тыс. обычно пишут "по договоренности". А иногда - вообще не выдают вакансии, а ХР-ы самостоятельно ищут. У Вас есть резюме на hh, SJ и пр.?

     

    С опытом, конечно у Вас напряжно. В том плане, что хорошо, если человек умеет много чего, а не узкий спец. Тогда он много вопросов может решить самостоятельно. Необязательно это делать самому, но понимание проблем, их решение в смежных областях - дает преимущество.

     

    Автоматизация года 3-5 назад - развивалась довольно бурно. Сейчас как мне кажется - застой.

     

    Что делать лично Вам? Попробовать изучить смежные области. Лучше, если это будет вне работы. Потому как это заставит изучить еще много чего другого (ну как минимум - копнуть). Через пару лет - Вы будете более широким спецом и работодатель в резюме будет видеть, что Вам возраст - не помеха.

     

    Ну это все программирование.

    А я спрашивал про электронику

    Так уж случилось, но на сегодня - знание программирования (хотя бы в базовом варианте) - необходимость.

    Я в своих контроллерах АСУТП - вынужден был написать простейший веб-сервер, чтобы только дать возможность конфигурячить его из браузера. Для обмена данными - пришлось попарсить трафик и выяснить, как писать на html-страницах блоки - отправляющие данные на сервер.

    Вроде как и программирования особого нет (lwip+SPL), а все-таки пришлось поковырять HTML....

     

     

    Кстати, Вы отечественную элементную базу - знаете? Это может быть преимуществом...

  5. Может и так. Просто я реально обжигался. Когда ходил по собеседованиям.

     

    На хидхантере пишут "зарплата 50...100", а когда приходишь говорят: вот тебе 30 (до вычета налогов), а по прохождение исп. срока мы ещё посмотрим сколько тебе платить.

    А исп. срок 3 месяца.

    ...

     

    Устраивался в прошлом году в супер-пупер-мега крутую компанию, которая делает на весь мир - светодиодные лампы. Крупная контора, несколько офисов по России, производство в другом городе.

    Предложили з/п на должность тех.директора - 115 тыров. Из которых - 15 официально, остальное - нет. Каждые полгода - проверка на детекторе лжи. Если отказываешься - тебя выпинывают.

     

    Я был в возмущении от наглости (они воруют у государства, но своим сотрудникам - не доверяют до паранойи). Через несколько недель - нашел нормальную работу.

     

    "И на старуху бывает проруха."

  6. 25...35 в Москве - это надо умудриться. Потому как средняя з/п толкового инженера (с просто нормальным резюме) - в 2 раза больше.

    Если Вам говорят, что Вы больше не найдете - вам наглейшим образом врут. Чтобы Вы не ушли.

     

    Я год назад поменял работу - 75 на 100 руб. Год назад было с десяток фирм, готовых мне платить 100.

     

    ФГУП скорее всего действительно не может Вам больше платить. Но есть сотни компаний, которые занимаются той же оборонкой, но они частные. И там борьба за спеца - идет серьезнее. Компании, которые работают на широкой рынок - сейчас часто переживают не лучшие времена, так что лучше идти в военку и космос, но в частные конторы.

    Скажу по-другому: есть компании, которые понимают, что им нужны хорошие спецы для повышения конкурентноспособности и они готовы платить таковым. Они платят и имеют хороший продукт. А есть - которые не понимают, не платят и они набирают студентов или балбесов/летняев/алкоголиков и имеют выхлоп как - коекакеры...

     

    Возможно Вашим минусом является возраст. Но с другой стороны - у Вас больше опыта. Подумайте, какие у Вас сильные стороны. Одного моего знакомого в Вашем возрасте - буквально силком запихнули в начальство, хотя он хотел быть обычным разработчиком. Возможно Вы руководили и Ваш опыт и знания - будут полезны в другом месте.

  7. Готов поучаствовать. Схемотехник, трассировшик, программист.

    Могу в одиночку, могу в составе группы. Могу подобрать группу и выступить в качестве руководителя.

     

    Резюме хорошее, объемное :).

     

    Напишите на atridies (гав) front (тчк) ru

    Обсудим возможное сотрудничество.

     

    P.S. есть опыт руководства большими проектами, разнопланового участия в больших проектах других людей. Результат - гарантирую.

  8. Готов провести разработку.

    Но есть несколько вопросов:

    1. Полоса частот сигнала - от 0 до 4Гц или 4+-1 Гц ?

    2. Что Вам важно: частота, фаза, амплитуда?

    3. Каковы сроки?

     

    Тут нужно еще понимать, что кроме схемотехники - надо еще плату разрабатывать определенным образом, чтобы шумов не нахватать.

     

    Напишите пожалуйста на atridies [гав] front тчк ru

     

  9. спасибо всем кто написал.

    Кандидатура выбрана, проект почти завершен.

     

    Удивили некоторые предложения со стоимостью 40 000 - 70 000 руб за типовое решение без особых нюансов.

     

    Неужели сошлись на 10 тыс. руб. ? Вы же понимаете, что это слишком мало. 1 неделя работы - это минимум 20 тыс. Но тут и не неделя работы...

  10. Это подфорум о предложениях работы. Хотите обсуждать конструкцию, идите в соответствующий подфорум. Сообщения перенесу в вашу тему там. Пока их скрыл. Модератор

     

    А не могли бы Вы здесь оставить ссылку на ту тему, куда перенесете ? Обыскался - и не нашел, но тема - интересная.

    Прошу прощения за оффтоп.

  11. Готов продать разработку контроллеров с возможностью удобной доработки:

    http://opterus.ru/index/kontrollery_quot_mozaika_quot/0-24

     

    Есть плата (мозги) со всем необходимым, и есть два варианта несущей платы. Не меняя плату микроконтроллера - можно разрабатывать только несущие платы. Время и стоимость разработки - существенно уменьшится.

  12. или даже еще проще эксперимент - берете SD размечаете в fat16/fat32 и в корень (не в каталог) копируете все те же MLO и u-boot.img

    Собственно, они и так в корне SD-шки лежат. Я их брал из папки linux/image на диске с платой.

     

    Насчет Active - попробую обязательно. Я тупанул немного: надо было попробовать Partition Magic, а не стандартными средствами винды. Он ведь должен уметь работать с SD...

     

    По Active меня смутило то, что в SD есть "floppy-like file system", который не требует MBR. Но, возможно я неверно понял доку. Такое бывает.

     

     

    (кстати по приглашению CCC можно из терминалки через xmodem попробовать залить MLO)

     

    Вот это чрезвычайно интересно. А как это можно сделать ? Есть какие-то специальные утилиты ?

     

     

     

    Спасибо огромное за ответы! Сегодня вечером попробую - отпишусь.

  13. Переменные окружения u-boot.

     

    android_args=run bootargs_defaults;setenv bootargs ${bootargs} dispmode=${dispmode} root=${android_root}  rootfstype=${nand_root_fs_type} earlyprintk init=/init androidboot.console=ttyO0
    android_boot=echo Booting from android ...; run android_args; nandecc hw 2; nand read.i ${kloadaddr} ${nand_src_addr} ${nand_img_siz}; bootm ${kloadaddr}
    android_root=ubi0:rootfs  ubi.mtd=7,2048
    autoload=yes
    baudrate=115200
    bootargs_defaults=setenv bootargs console=${console} ${optargs}
    bootcmd=if mmc rescan; then echo SD/MMC found on device ${mmc_dev};if run loadbootenv; then echo Loaded environment from ${bootenv};run importbootenv;fi;if test -n ${uenvcmd}; then echo Running uenvcmd ...;run uenvcmd;fi;if run mmc_load_image; then run mmc_args;bootm ${kloadaddr};fi;fi;run nand_boot
    bootdelay=3
    bootenv=uEnv.txt
    bootfile=uImage
    console=ttyO0,115200n8
    consoleblank=0
    dispmode=4.3inch_LCD
    dvsdk_args=run bootargs_defaults;setenv bootargs ${bootargs} dispmode=${dispmode} root=${dvsdk_root}  rootfstype=${dvsdk_root_fs_type} earlyprintk
    dvsdk_boot=echo Booting from dvsdk ...; run dvsdk_args; mmc rescan; run dvsdk_load_image;bootm ${kloadaddr}
    dvsdk_load_image=fatload mmc ${mmc_dev} ${kloadaddr} ${bootfile};
    dvsdk_root=/dev/mmcblk0p2 rw
    dvsdk_root_fs_type=ext3 rootwait
    ethact=cpsw
    ethaddr=bc:6a:29:57:11:80
    importbootenv=echo Importing environment from mmc ...; env import -t ${loadaddr} ${filesize}
    ip_method=none
    ipaddr=192.168.1.66
    kloadaddr=0x80007fc0
    loadaddr=0x80008000
    loadbootenv=fatload mmc ${mmc_dev} ${loadaddr} ${bootenv}
    mmc_args=run bootargs_defaults;setenv bootargs ${bootargs} dispmode=${dispmode} consoleblank=${consoleblank} root=${mmc_root} initrd=${rdloadaddr},32MB rootfstype=${mmc_root_fs_type} ip=${ip_method}
    mmc_boot=run mmc_args; mmc rescan; run mmc_load_image; bootm ${kloadaddr}
    mmc_dev=0
    mmc_load_image=fatload mmc ${mmc_dev} ${kloadaddr} ${bootfile};fatload mmc ${mmc_dev} ${rdloadaddr} ${ramdisk}
    mmc_root=/dev/ram rw
    mmc_root_fs_type=ext2
    nand_args=run bootargs_defaults;setenv bootargs ${bootargs} dispmode=${dispmode} consoleblank=${consoleblank} root=${nand_root} noinitrd rootfstype=${nand_root_fs_type} ip=${ip_method}
    nand_boot=echo Booting from nand ...; run nand_args; nandecc hw 2; nand read.i ${kloadaddr} ${nand_src_addr} ${nand_img_siz}; bootm ${kloadaddr}
    nand_img_siz=0x400000
    nand_root=ubi0:rootfs rw ubi.mtd=7,2048
    nand_root_fs_type=ubifs rootwait
    nand_src_addr=0x280000
    net_args=run bootargs_defaults;setenv bootargs ${bootargs} dispmode=${dispmode} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
    net_boot=echo Booting from network ...; setenv autoload no; dhcp; tftp ${kloadaddr} ${bootfile}; run net_args; bootm ${kloadaddr}
    nfsopts=nolock
    nor_args=run bootargs_defaults;setenv bootargs ${bootargs} dispmode=${dispmode} root={nor_root} rootfstype=${nor_root_fs_type} ip=${ip_method}
    nor_boot=echo Booting from NOR ...; run nor_args; cp.b ${0x08080000} ${kloadaddr} ${nor_img_siz}; bootm ${kloadaddr}
    nor_img_siz=0x280000
    nor_root=/dev/mtdblock3 rw
    nor_root_fs_type=jffs2
    nor_src_addr=0x08080000
    ramdisk=ramdisk.gz
    rdloadaddr=0x81600000
    rootpath=/export/rootfs
    script_addr=0x81900000
    serverip=192.168.1.65
    spi_args=run bootargs_defaults;setenv bootargs ${bootargs} dispmode=${dispmode} root=${spi_root} rootfstype=${spi_root_fs_type} ip=${ip_method}
    spi_boot=echo Booting from spi ...; run spi_args; sf probe ${spi_bus_no}:0; sf read ${kloadaddr} ${spi_src_addr} ${spi_img_siz}; bootm ${kloadaddr}
    spi_bus_no=0
    spi_img_siz=0x280000
    spi_root=/dev/mtdblock4 rw
    spi_root_fs_type=jffs2
    spi_src_addr=0x62000
    static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
    stderr=serial
    stdin=serial
    stdout=serial
    updatesys=nand erase.chip;mmc rescan; fatload mmc 0 82000000 MLO;nandecc hw 2;nand write.i 82000000 0 ${filesize}; fatload mmc 0 82000000 u-boot.img;nandecc hw 2;nand write.i 82000000 80000 ${filesize};fatload mmc 0 82000000 uImage;nandecc hw 2;nand write.i 82000000 280000 ${filesize}; fatload mmc 0 82000000 ubi.img;nandecc sw;nand write.i 82000000 780000 ${filesize};led flash all
    
    Environment size: 4197/8188 bytes

     

     

    Файлы на SD:

    MLO

    ramdisk.gz

    u-boot.img

    ubi.img

    uImage

     

    Эти файлы лежат в папке linux/image, как указано в доке на борду.

     

     

    Партицию на SD поставить как Active - не удалось. Но вообще говоря, в доке на AM3359 указано:

    File system mode (FAT12/16/32 supported with or without Master Boot Record), image data is read

    from a booting file.

    ...

    MMC/SD Cards may hold a FAT file system which ROM Code is able to read and process. The image

    used by the booting procedure is taken from a specific booting file named “MLO”. This file has to be

    located in the root directory on an active primary partition of type FAT12/16 or FAT32.

    ...

    The card should always hold an MBR except for MMC cards using floppy-like file system (please refer to

    the CSD internal Register fields FILE_FORMAT_GRP and FILE_FORMAT in the MultiMedia Card System

    Specification). However, depending on the used operating system the MMC/SD card will be formatted

    either with partition(s) (using an MBR) or without. The ROM Code supports both types; this is described in

    the following section.

  14. Попробовал сделать bootm:

     

    SBC8600# bootm
    ## Booting kernel from Legacy Image at 80008000 ...
       Image Name:   Linux-3.2.0
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    3245320 Bytes = 3.1 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       XIP Kernel Image ... OK
    OK
    
    Starting kernel ...

     

    К сожалению, тоже подвисает...

     

    Попробовал другое ядро: аналогично. Виснет и всё тут...

     

    Может быть надо грузить с tftp не только uImage, а еще что-то?

  15. Опять потревожу уважаемое сообщество.

     

    Есть проблема: пересобрал ядро и хочу им заменить старое ядро (в нем неправильно сделана настройка одного пина - pinmux).

     

    В документации на борду написано: форматнуть SD под FAT32, закинуть файлы и папки linux/image (MLO, boot.img, rootfs.gz, uImage) и замкнуть JP5.

    Все делаю как написано - ничего не получается. Т.е. при замыкании JP5 и последующем включении питания - в консоль тупо выдется "С" и всё. Проверил настройку сигналов, отвечающих за загрузку (SYSBOOT) - все верно. В первом случае - загрузка из NAND, а при замыкании JP5 - из MMC0.

    Согласно доке на проц - он понимает FAT32 и может найти в корне файл MLO.

     

    Попробовал другой вариант: загрузка по TFTP. Поднял в сети TFTP-сервер, закинул в папку - те же файлы. Гружусь в u-boot, настраивают доступ к TFTP и скачиваю uImage (команда tftboot). Скачивается ядро нормально. После этого даю команду go 0x80008000. И на этом все заканчивается...

    По умолчанию loadaddr в u-boot настроен на адрес 0x82000000, но при загрузке с NAND - ставится адрес 0x8000800. Поэтому и я такие адреса поставил.

     

    SBC8600# tftpboot
    Auto negotitation failed
    link up on port 1, speed 100, full duplex
    Using cpsw device
    TFTP from server 192.168.1.65; our IP address is 192.168.1.66
    Filename 'uImage'.
    Load address: 0x80008000
    Loading: #################################################################
             #################################################################
             #################################################################
             ###########################
    done
    Bytes transferred = 3245384 (318548 hex)
    SBC8600# go 0x80008000
    ## Starting application at 0x80008000 ...

     

    А вот - нормальная загрузка с NAND:

    U-Boot SPL 2011.09-svn55 (Dec 04 2012 - 09:29:02)
    Texas Instruments Revision detection unimplemented
    Booting from NAND...
    
    
    U-Boot 2011.09-svn55 (Dec 04 2012 - 09:29:02)
    
    I2C:   ready
    DRAM:  512 MiB
    WARNING: Caches not enabled
    Did not find a recognized configuration, assuming General purpose EVM in Profile 0 with Daughter board
    NAND:  HW ECC Hamming Code selected
    512 MiB
    MMC:   OMAP SD/MMC: 0
    Net:   cpsw
    Hit any key to stop autoboot:  0
    Card did not respond to voltage select!
    Booting from nand ...
    HW ECC BCH8 Selected
    
    NAND read: device 0 offset 0x280000, size 0x400000
    4194304 bytes read: OK
    ## Booting kernel from Legacy Image at 80007fc0 ...
       Image Name:   Linux-3.2.0
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    3245320 Bytes = 3.1 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       XIP Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Uncompressing Linux... done, booting the kernel.

     

     

    Соответственно вопросы:

    1. Почему не получается загрузка с SD ?

    2. Почему не получается загрузка с TFTP ?

    3. Можно ли подсунуть в NAND второе ядро и в u-boot попробовать загрузиться с него (lilo такое умеет).

    4. Можно ли вообще без SD/TFTP - безболезненно заменить ядро с возможность восстановления ? Например без перенастройки u-boot - выгрузить старое ядро и загрузить новое?

     

    Заранее спасибо за ответы.

     

    P.S. Плата: SBC8600 (embest), проц: AM3359, сборка: Angstrom Linux. Загрузчик: u-boot.

  16. Я пишу так:

    *((unsigned int*)(base + 0x8F0)) = 0x34;

     

    Собственно в регистры, не защищенные privileged режимом - все пишется нормально. Но конкретно нужные мне:

    "For writing to the control module registers, the Cortex A8 MPU will need to be in privileged mode of

    operation and writes will not work from user mode."

     

    Поэтому и не пишется....

     

     

    не вижу смысла пересказывать 100 раз описанное, почитайте на том же ti.com местную twiki для am3359

    Я вероятно неправильно задал вопрос. Каким компилятором - компилировать модули ядра? Тем, которым собирается ядро под target-платформу ?

  17. Вот попытка записать данные напрямую в память - через /dev/mem.

     

     

        int mfd;
        void * base;
        int regData;
         char str[100];
    
        mfd = open("/dev/mem", O_RDWR);
    
        if( mfd < 0 )
          {
            printf("Cannot open /dev/mem.\n");
            return 0;
        }
    
        printf("/dev/mem opened.\n");
    
        base = mmap(0, 0x00001000, PROT_READ | PROT_WRITE, MAP_SHARED, mfd, 0x44E10000);
    
        if (base == MAP_FAILED)
        {
            printf("Memory mapping error.\n");
            return 0;    //exit(EXIT_FAILURE);
        }
    
        printf("Memory block mapped at address %p.\n", base);
    
        regData = *((unsigned int*)(base + 0x0));
        sprintf(str, "Revision = 0x%X", regData);
        puts(str);
    
        regData = *((unsigned int*)(base + 0x600));
        sprintf(str, "Device ID = 0x%X", regData);
        puts(str);
    
        regData = *((unsigned int*)(base + 0x604));
        sprintf(str, "Dev. feature = 0x%X", regData);
        puts(str);
    
        regData = *((unsigned int*)(base + 0x8F0));
        sprintf(str, "Pin MMC0_DAT3 = 0x%X", regData);
        puts(str);
    
        *((unsigned int*)(base + 0x8F0)) = 0x34;
        sprintf(str, "Set pin MMC0_DAT3 = uart1_dcdn");
        puts(str);
    
        regData = *((unsigned int*)(base + 0x8F0));
        sprintf(str, "Pin MMC0_DAT3 = 0x%X", regData);
        puts(str);
    
    
        munmap(0, 0x00001000);
    
        return 0;

     

    Проц: AM3359. В доке на него - указано, что запись в эти регистры может быть только в "privileged mode". Это от рута - или что-то другое ?

     

  18. Ясно.

     

    А как писать и компилировать драйверы ? Как писАть сами драйверы - я читал несколько статей, думаю разберусь.

    А вот как компилить (Cross Compilatioin)? Надо использовать tools для сборки ядра ?

×
×
  • Создать...