August 14, 2020, 03:40:27 pm

News:

Have you visited the Allwinner Chipset wiki? - http://linux-sunxi.org/


Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - KillBot

1
Ребят, подскажите, пожалуйста. Я совсем нуб в линухах. Пока что  ;D
Я поставил Cubieez на HDD и у меня пара непоняток:
1. Этой ОС нужен swap? Я знаю, что в федоре он сразу пишется отдельным разделом на карточку, а здесь загрузчик и рутфс. Если он нужен, то как его добавить\разметить?
2. Как можно расширить раздел до полного размера винта? Потому как 99% винта сейчас неиспользовано.
3. Наткнулся на этом форуме на инфу, что в Cubieez корректно работает mali. Это так? В чем выражается?
2
Начинающим / НОВИЧКУ. DEBUG
January 28, 2014, 02:45:50 pm
Поначалу, когда идет пора освоения, тотальных настроек и перепиливания кубика, debug просто незаменим. Я все делаю так, но у меня черный экран и ВСЁ! Ничего не работает! Так давайте же посмотрим на мысли кубика изнутри, как проходит его загрузка.
Будем юзать дебаг. Как? Очень просто.
Нам потребуется:
- кубик (точно есть?)
- компьютер\ноутбук
- программа-терминал (я использую putty)
- кабель USB-UART (они разные бывают, на чипах PL-2303 или FT232xx; походят даже от старых телефонов)
- драйвер под наш кабель
Итак, кабель. У меня вот такой, построен на базе чипа PL-2303:

Ничего необычного.
А вот и кубик:

Нам нужен разъем, который находится на фотографии между USB разъемами и радиатором, как раз тот самый debug
ВНИМАНИЕ! Подключать только контакты GND, TX, RX. VCC НЕ ТРОГАТЬ!
Подключаем:

Тыкаемся кабелем в порт компа и ставим драйвер. По итогу, в диспетчере устройств у вас должен появиться еще один (или единственный, если их до этого не было) COM порт. У меня это COM3

Теперь откроем PuTTy и настроим соединение:

Настроили? Тычем кнопочку Open и перед вами замечательное черное окошко. Подаем питание на кубик, и по окошку побежали циферки-буковки:

Если не побежали, то поменяйте контакты TX и RX местами.
Вот то самое нам и надо. Если у вас не выходит настройка кубика, если он работает не так, как надо, то как раз в консоли и нужно в первую очередь искать. Полезная вещь.
Есть еще пара полезностей. Если в самом начале загрузки, при 3-секундном отсчете потыкать клавиши на клавиатуре, то кубик остановит загрузку в секции загрузчика U-Boot, а тут можно многое посмотреть, подкорректировать.

Посмотреть все команды можно, набрав help
А можно потестить память, если есть подозрение на ошибки в работе ОЗУ. Вот так:


Вот такой небольшой кусочек полезной инфы.
P.S.: выйти из режима загрузчика можно командой boot, тогда кубик начнет дальше грузить систему.
А можно набрать reset и кубик перезапустится.
3
Итак, у вас кубик. На нем изначально стоит андроид. И это вам не по душе. Или вы наэкспериментировались с системами на карточках и хотите жестко запилить выбранную систему в NAND. Инструкция для тех, кто хочет, но не умеет.
1. Сливаем нужную прошивку. Их множество и они находятся в самых необычных местах. Для начала, можно глянуть на cubieboard.org в разделе download.
2. Утягиваем из инета очень полезную прогу PhoenixSuit и инсталлируем.
3. Включаем кубик. И видим:

Это безобразие никуда не годится, будем менять!
4. Достаем из загашника (своего\друга\магазина) кабель USB-miniUSB, ну, примерно такой:
и соединяем кубик с ноутбуком\компом, где уже установлен феникс
5. Драйверы должны встать автоматом, если же нет, то все мы знаем, как это исправить, не правда-ли?  ;)
6. Запускаем феникс:

7. Переходим на вкладку Firmware, выбираем свою прошивку и тычем в кнопочку Upgrade:

8. Феникс спросит, а не дураки-ли мы? Ответим утвердительно:

9. Поинтересуется, форматить или нет область данных? Согласимся, ведь мы нифига не андроид обновляем до новой версии:

10. Пошел процесс заливки, а мы на перекур:

Если подключиться предварительно по дебагу, то в консоли во время обновления можно увидеть следующее:

11. Готово! Мы прошились!


Вот так легко и просто перелезть с родного андроида на совсем другую ось.  :)
Удачной вам прошивки  ;)
4
Железо / Cubieboard+LVDS
January 28, 2014, 02:29:06 am
Статья перенесена из старого форума

"Как Казаки на LVDS войной ходили"
Постоянно копаюсь с кубиком, и меня сильно ломает вечно держать рядом с собой монитор. Он громоздкий, низкого качества, изображение заставляет периодически морщиться. И мой взгляд упал на стопку бесхозных разнокалиберных матриц от ноутбуков. И начались эксперименты. Первой на стол попала ламповая матрица размером 14,1 дюйма от старенького IBM. И я, раскопав распиновку 20pin разъема, который был на матрице, принялся колдовать. Удивительно, но получилось сразу. По поводу подсветки я не запаривался и родной инвертор ковырять не стал, взял проверенный и простой, как валенок, инвертор от старенького сканера, у него всего лишь вход 14 вольт и выход на лампу, никакого управления яркостью. Первый косяк обнаружился при выводе графики, я неправильно выставил битность цвета. Это решаемо. А вот второй был гораздо серьезнее, дисплей старый (очень-очень), а потому очень медленный, почти видно перерисовку изо при быстрой смене картинок. И я решил, что нужно что-нибудь поновее. Выбор пал на AUO 156HW02. Качественная картинка и подсветка диодная, кубик сам сможет рулить яркостью. Это все решило. Далее, я текстом и картинками расскажу, как это делалось, думаю, многие захотят обзавестись таким дисплеем  :D
Начнем с матрицы. Брать лучше с LED подсветкой, с ней проще, не нужен инвертор, да и живет она дольше. Диагональ не так уж важна, главное, не больше 15,6 дюйма, так как я показываю способ подключения матриц 1LVDS, все же, что выше 15,6 - почти наверняка будет 2LVDS, с таким я еще не разбирался.
Находим маркировку своей матрицы и идем на этот сайт за datasheet'ом: http://lcd-screen.com.ua/pages/download_pdf.html
Забираем datasheet и открываем. По началу нам нужна только распиновка коннектора. В распиновке ищем контакты LVDSdifferential data input, их должно быть 3 пары и 1 пара LVDSdifferential clock input. Если этого всего больше - то матрица 2LVDS, ее лучше пока отложить. Нам нужна именно с 4-мя парами LVDS сигналов.
Сама распиновка строго стандартизована и совпадает на всех матрицах с одним видом коннектора.
Далее, нам нужен шлейф от матрицы к ноутбуку, дабы не портить матрицу, подпаиваясь к контактам на ней, плюс, можно подключать матрицы разных размеров впоследствии.

Очистим его от защитного экрана и разложим аккуратно, насколько это возможно, проводники:


Не будем вандалами и не станем паять пробники прямо к пинам на кубике, возьмем 2мм двухрядную колодку:

И начинаем аккуратно паять. Я места соединения проводов изолировал термоусадкой, обожаю эту штуку.
Итак, согласно datasheet, первые два проводника (2, 3) это 3.3 вольта питания логики матрицы, третий провод (4) - опять же 3.3 вольта, но для eeprom. Все три соединяем, при необходимости, наращиваем проводник, это у нас будет + питалова матрицы.
Следующие 2 это Clock и Data епромки, цепляем их так: SCL(6) на 40 контакт разъема кубика (разъем над sata портом, нам нужен только этот разъем); SDA(7) на 39 контакт.
Следом, (8) и (9) контакты матрицы, идет первая диф. пара LVDS, подключение следующее: (8)=>4; (9)=>1
Вторая пара LVDS: (11)=>6; (12)=>3
Третья пара LVDS: (14)=>8; (15)=>5
Четвертая пара, клок LVDS: (17)=>10; (18)=>7
Если в вашем шлейфе земли идут, заплетенные на пары LVDS - не расплетайте, соедините их уже около кубика, так даже лучше. Если они все соединены около разъема матрицы - просто припаяйте к нему проводульку потолще и пустите рядом с остальными, в принципе, LVDS помехи не сильно страшны, так как сигналы идут дифференциально.
Что там дальше? Дальше идут три контакта (31, 32, 33) минуса подсветки, если они еще не соединены с землей - соедините.
Далее, контакт PWM (35), управляет яркостью подсветки, подключение: (35)=>31
Следом LED_EN(36), включает подсветку, подключение: (36)=>37
И последние три провода (38, 39, 40) это + подсветки, напряжение смотреть в datasheet, но стандарт 12 вольт.
Все земли подключаем к кубику на контакты 2, 9, 38
Все припаяли, правильно вставили в колодки, вот что получилось:






Приготовим источники питания для матрицы, впоследствии, все можно будет объединить в один, а пока у кого что. У меня кубик питается от 5В 1А, подсветка матрицы от 12В 3А, сама матрица от ЛБП.
ВНИМАНИЕ! Земли питания матрицы и подсветки ОБЯЗАТЕЛЬНО соединить вместе и прицепить к кубику на любой контакт GND, например 2
ВНИМАНИЕ 2!!! Питание подсветки и питание матрицы включить ТОЛЬКО ПОСЛЕ подключения шлейфа к матрице и к кубику. НЕ РАНЬШЕ!
Итак, железная часть готова, приступим к настройке кубика. От datsheet матрицы нам нужны следующие значения:
Horizontal Period, Horizontal Blanking, Vertical Period, Vertical Blanking, Clock freq.
Для моей матрицы они такие: 1606, 240, 808, 40, 70
Приступаем к редактированию script.bin
Первым делом правим секцию [disp_init]
disp_init_enable = 1
disp_mode = 4
screen0_output_type = 1
screen0_output_mode = 4
параметр screen0_output_type как раз отвечает за вывод изо на LCD/LVDS
Идем в секцию [lcd0_para]
Там нам нужно изменить несколько параметров.
lcd_x = 1366
lcd_y = 768
Собственно, устанавливаем разрешение, оно опять же указано в datasheet, данное разрешение применимо к матрицам 15,6 дюйма
lcd_dclk_freq = 70
Это как раз параметр Clock freq из datasheet на матрицу
Примечание: есть небольшой затык - значение частоты должно быть ЦЕЛЫМ
lcd_pwm_not_used = 0
lcd_pwm_ch = 0
lcd_pwm_freq = 10000
lcd_pwm_pol = 0
Включаем ШИМ для управления подсветкой
lcd_if = 3
Значение этого параметра "3" соответствует LVDS
lcd_hbp = 160
lcd_ht = 1530
lcd_vbp = 16
lcd_vt = 1572
Эти параметры вписываются исходя из инфы на матрицу, lcd_hbp = Horizontal Blanking, lcd_ht = Horizontal Period, lcd_vbp = 2*Vertical Blanking, lcd_vt = 2*Vertical Period
Я привожу устредненные значения для всех матриц 15,6 дюйма
lcd_io_cfg0 = 268435456
Я не до конца понял, что за параметр, но везде указывается именно это значение
lcd_bl_en_used = 1
Разрешаем подсветку
lcd_power_used = 1
Разрешаем включение дисплея
lcd_pwm_used = 1
Разрешаем ШИМ
Вот полное содержание секции [lcd0_para] для примера:
[lcd0_para]
lcd_used = 1
lcd_x = 1366
lcd_y = 768
lcd_dclk_freq = 70
lcd_pwm_not_used = 0
lcd_pwm_ch = 0
lcd_pwm_freq = 10000
lcd_pwm_pol = 0
lcd_if = 3
lcd_hbp = 160
lcd_ht = 1530
lcd_vbp = 16
lcd_vt = 1572
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 0
lcd_hv_hspw = 0
lcd_lvds_ch = 0
lcd_lvds_mode = 0
lcd_lvds_bitwidth = 1
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 1
lcd_io_cfg0 = 268435456
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0 = 0x0
lcd_gamma_tbl_1 = 0x10101
lcd_gamma_tbl_255 = 0xffffff
lcd_bl_en_used = 1
lcd_bl_en = port:PH07<1><0><default><1>
lcd_power_used = 1
lcd_power = port:PH08<1><0><default><1>
lcd_pwm_used = 1
lcd_pwm = port:PB02<2><0><default><default>
lcd_gpio_0 =
lcd_gpio_1 =
lcd_gpio_2 =
lcd_gpio_3 =
lcdd0 = port:PD00<2><0><default><default>
lcdd1 = port:PD01<2><0><default><default>
lcdd2 = port:PD02<2><0><default><default>
lcdd3 = port:PD03<2><0><default><default>
lcdd4 = port:PD04<2><0><default><default>
lcdd5 = port:PD05<2><0><default><default>
lcdd6 = port:PD06<2><0><default><default>
lcdd7 = port:PD07<2><0><default><default>
lcdd8 = port:PD08<2><0><default><default>
lcdd9 = port:PD09<2><0><default><default>
lcdd10 = port:PD10<2><0><default><default>
lcdd11 = port:PD11<2><0><default><default>
lcdd12 = port:PD12<2><0><default><default>
lcdd13 = port:PD13<2><0><default><default>
lcdd14 = port:PD14<2><0><default><default>
lcdd15 = port:PD15<2><0><default><default>
lcdd16 = port:PD16<2><0><default><default>
lcdd17 = port:PD17<2><0><default><default>
lcdd18 = port:PD18<2><0><default><default>
lcdd19 = port:PD19<2><0><default><default>
lcdd20 = port:PD20<2><0><default><default>
lcdd21 = port:PD21<2><0><default><default>
lcdd22 = port:PD22<2><0><default><default>
lcdd23 = port:PD23<2><0><default><default>
lcdclk = port:PD24<2><0><default><default>
lcdde = port:PD25<2><0><default><default>
lcdhsync = port:PD26<2><0><default><default>
lcdvsync = port:PD27<2><0><default><default>

Так, script.bin отредактировали, можно подключать матрицу, питание и стартовать:




Ура, товарищи! Все получилось!

Т.к. я подключал 3.3 вольта питания матрицы к ЛБП, то невольно глянул на потребляемый ток, всего-то 200-250 мА.

А значит, 3.3 вольта можно получить из 5В, питающих плату, путем применения чего-нибудь, типа LD1085V33, у него ток 500мА, хватит с головой.
Насчет питания подсветки, оно так же указывается в datasheet на матрицу, в моем случае был указан диапазон 7-20В, стандарт 12. Но моя матрица уверенно светит от 5 вольт, что еще удобнее.
Ну, вот, надеюсь, сей опус кому-нибудь поможет.