Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:3
Форум » starterkit.ru » Embedded Linux
не запускается в минусе(холоде) imx6q
alexmfivt
Добавлено 12.05.2015 17:34
0
Сообщение: 1
alexmfivt
0

Пункты: 3237
Регистрация: 07.11.2010
Пол: Мужчина
Из: Красноярск
Есть плата собственной разработки на базе SK-iMX6Q.
Ядро 3.0.35. В нормальных условиях работает нормально.
Пытаемся заморозить плату до -20. Грузится и доходит до строчек:

Static Power Management for Freescale i.MX6
wait mode is enabled for i.MX6
cpaddr = c0880000 suspend_iram_base=c091c000
PM driver module loaded
IMX usb wakeup probe
add wake up source irq 75
IMX usb wakeup probe
cpu regulator mode:ldo_enable
i.MXC CPU frequency driver
Internal error: Oops - undefined instruction: 0 [#g dummy regulator
Modules linked in:яя

и после "i.MXC CPU frequency driver" либо ничего, либо Упс, либо какая то странная инструкция и ничего не происходит.

в ядре пробовал режимы энергосбережения менять - запускается только в powersave. в других режимах при загрузке доходит до строчек:

Bus freq driver module loaded
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00100000
Bus freq driver Enabled
mxc_dvfs_core_probe
DVFS driver module loaded
snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:00 UTC (0)
hub 2-1:1.0: USB hub found
hub 2-1:1.0: 4 ports detected
UBIFS: recovery needed
usb 2-1.1: new full speed USB device number 3 using fsl-ehci

далее строки "DVFS driver module loaded" никогда не уходит.

куда копать дальше.

проц mcimx6q6avt10ad.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 13.05.2015 10:14 Сообщение: 2
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Цитата
Есть плата собственной разработки на базе SK-iMX6Q.
Интересная формулировка
Я понимаю, схематику "срисовали" и компоненты примерно так же поставили, ну а дальше - как повезет.
SK-iMX6Q (вся комплектация коммерческого температурного диапазона - от 0) я в свое время гонял в бытовом морозильнике (прототипы и первые изделия всех устройств всегда в морозилке проверяю), обязательно с кулкером на плату (иначе она в + останется), до -10-15С охлаждалось - проблем не видел.

ИМХО вероятнее всего начинаются проблемы с памятью (от температуры сильно изменяются параметры выходных буферов - на десятки процентов), у IMX6 вагон настроек и сила буферов и относительный сдвиг и сила ODT терминации ... в экспериментах можно на месяц(ы) погрязнуть.
Еще есть режим автокалибровки DDR3 памяти, но для его работы нужно соединение D0-D0, D16-D16 ... (младшие биты по чипам), если этого нет - тогда только аналитически перебирать настройки сдвигов.
Из простейшего - понизить частоту шины памяти.
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 13.05.2015 10:15 Сообщение: 3
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
Память какая ? Питание какое ? Все микросхемы на -40 ? Пульсации в минусе не повышаются? Конденсаторы X7R/X5R ? В минусе использование диэлектрика y5v нежелательно.

Смотрите питание процессора, обвязку. Прогоните тест памяти из u-boot`а.
Спуститься к концу Подняться к началу
Персональная информация
alexmfivt
Добавлено 13.05.2015 12:07 Сообщение: 4
alexmfivt
0

Пункты: 3237
Регистрация: 07.11.2010
Пол: Мужчина
Из: Красноярск
Цитата
Я понимаю, схематику "срисовали" и компоненты примерно так же поставили, ну а дальше - как повезет.

да, верно
Цитата
SK-iMX6Q (вся комплектация коммерческого температурного диапазона - от 0)

тут мы поставили все индустриальное.
Цитата
Еще есть режим автокалибровки DDR3 памяти

тут у нас откалибровано, записано в u-boot, который на плате обновили.

Цитата
Память какая ? Питание какое ? Все микросхемы на -40 ? Пульсации в минусе не повышаются? Конденсаторы X7R/X5R

память пока mt41j256m16ha-107it, питание 1,5, все на -40, конденсаторы x5r.
пульсации в минусе вроде как повышаются(дую фризером на проц).
тест памяти изменений не дает - все исправно проходит, по питанию ничего не меняется по входу.

при штатно загрузке просечки ощутимые появляются.
Спуститься к концу Подняться к началу
Персональная информация
alexmfivt
Добавлено 13.05.2015 12:58 Сообщение: 5
alexmfivt
0

Пункты: 3237
Регистрация: 07.11.2010
Пол: Мужчина
Из: Красноярск
опытным путем убрал в ядре поддержку USB - плата стала грузиться:
...
Temperature: -29 C, calibration data 0x5974e17d
...

но USB нам нужен. как быть в таком случае?
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 14.05.2015 07:22 Редактировалось 14.05.2015 07:23 Сообщение: 6
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
5 Вольт смотрите на PHY USB процессора. Если загрузить ОС в НКУ и перевести в минус, умирает ??? Если умирает, то ядро что рапортует?
Спуститься к концу Подняться к началу
Персональная информация
alexmfivt
Добавлено 14.05.2015 08:23 Сообщение: 7
alexmfivt
0

Пункты: 3237
Регистрация: 07.11.2010
Пол: Мужчина
Из: Красноярск
5 вольт на проце нормальные, стабильно 4,8 вольта у нас. если загрузить в НУ и потом начать морозить, то умирает: при этом запускал пинг - и он неожиданно перестает работать - безо всяких выводов в консоль.
Спуститься к концу Подняться к началу
Персональная информация
alexmfivt
Добавлено 15.05.2015 11:12 Сообщение: 8
alexmfivt
0

Пункты: 3237
Регистрация: 07.11.2010
Пол: Мужчина
Из: Красноярск
Найдено следующее: в минусе зависает если напряжение ядра низкое - ручками подняли в настройках борды. USB не работает, если частота не 396 МГц.
как сделать, чтоб работа USB не зависела от частоты процессора?
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 15.05.2015 11:58 Редактировалось 15.05.2015 12:00 Сообщение: 9
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
Конденсаторы по PLL ? По кварцу ? Резистор мегоомный на кварце ?Питания процессора какие ? PMIC есть или своё питание ?
Частота вестимо зависит от PLL и напряжения процессора...

Запустите memtester в НКУ и засуньте в минус. Будет ли ошибки пока не зависнет...
Спуститься к концу Подняться к началу
Персональная информация
alexmfivt
Добавлено 15.05.2015 12:31 Сообщение: 10
alexmfivt
0

Пункты: 3237
Регистрация: 07.11.2010
Пол: Мужчина
Из: Красноярск
по PLL есть, по кварцу есть, резистор отсутствует(от него зависит долгий запуск вроде), питания на одной плате 1,4 и 1,5 на другой(ведут себя одинаково).

При питании ядра 0,95 В и при охлаждении получается вот так:

# memtester 100
memtester version 4.3.0 (32-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffff000
want 100MB (104857600 bytes)
got 100MB (104857600 bytes), trying mlock ...locked.
Loop 1:
Stuck Address : setting 4Unable to handle kernel paging request at virtual address ca72cdd0
pgd = ba878000
[ca72cdd0] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 Not tainted (3.1.2 #62)
PC is at __mem_cgroup_uncharge_common+0x34/0x2dc
LR is at __mem_cgroup_uncharge_common+0x2c/0x2dc
pc : [<80120c2c>] lr : [<80120c24>] psr: a0000113
sp : ba5d3d00 ip : 0004fffb fp : ba5d3d64
r10: 00000001 r9 : ba5d3da8 r8 : 8b999ea0
r7 : 80739f78 r6 : 00000001 r5 : ca72cdd0 r4 : 8b999ea0
r3 : 8c0ec000 r2 : 8078fd60 r1 : 73e573e8 r0 : ca72cdd0
Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c53c7d Table: 4a87804a DAC: 00000015
Process memtester (pid: 231, stack limit = 0xba5d22f0)
Stack: (0xba5d3d00 to 0xba5d4000)
3d00: ba84a271 8b999ea0 ffffffff 00000001 8b999ea0 2b000000 2ae5e000 8010d9d8
3d20: bfbc217c bfbc2178 00000000 80105f34 ba5164e0 00000000 8bff784c bfbc1c08
3d40: ba878ab8 1ccf575f ba5d2000 ba878ab8 31128000 00000000 ffffffff 31127fff
3d60: 00000000 00000000 ffffffa1 00000000 ba5164e0 bfbc1d10 ba5164e0 00000000
3d80: ba5d3dc8 0000001f ba5d2000 00000056 ba5d2000 8010b7d0 ba5d3da4 00000000
3da0: 80660e70 0000640e ba5164e0 00000001 00000000 8012bee0 fffffca7 00000199
3dc0: 00000400 ba88e000 80757a60 800c3f64 ba588400 ba5164e0 ba51651c 8054f590
3de0: 8c008558 ba4f7bd0 ba516508 ba5164e0 ba5164e0 ba588708 ba51651c 80078910
3e00: ba588400 8007e390 0000000b ba588400 00106001 0000000b ba5164e0 ba588400
3e20: ba4f7b80 8007e500 00000080 0000000b ba5d2000 00000001 00000000 0000008d
3e40: 00000000 ba588400 00000000 ba4f7b80 0000000b ba5d2000 00106001 bfbe392c
3e60: ba5d2000 bfbe3928 0000000b 8007ed78 fffffca7 ba5d3fb0 ba5d3f00 ba5d2000
3e80: 00106001 8008d994 00000003 00000028 bfbe3d64 bfbe3860 ba4f7b80 418004fc
3ea0: ba5d3fb0 ba5d3eec 00000001 ba5d3fb0 00000000 ba5d2000 00000000 00000000
3ec0: ba5d2000 00000000 2ad28000 80044144 00000005 00000000 7fffffff 35f43bbd
3ee0: 00000005 800a8cfc 35f43bbd 00000007 8055234c 8073df48 0000513c ba5d3fb0
3f00: 0000000b 00000000 00030001 0000513c 00000000 00000000 00000001 ab4d0717
3f20: ba5d3f20 ba5d3f20 00000000 00000001 00000001 00000004 ba5d2000 80726048
3f40: 80790fe0 80726044 2ad28000 80081598 368c4980 00000005 35f3cd0f 00000102
3f60: 00000000 0000000a 35f3cd0f ba5d2000 80739f48 8003ad70 00000102 ba5d2000
3f80: 80739f48 00000001 00000007 d52d7fff 00012a14 00000000 ba5d2000 018ffc02
3fa0: 2ad28000 80044b48 0000040f 80041af8 00012a14 d3131fdf 0086980c 2cece020
3fc0: 00012a14 2ad28000 d52d7fff 00012a14 d52d7fff 00000004 018ffc02 2ad28000
3fe0: 00000000 7e837b18 018ffc06 0000513c 20000030 ffffffff 00000000 00000000
[<80120c2c>] (__mem_cgroup_uncharge_common+0x34/0x2dc) from [<8010d9d8>] (page_remove_rmap+0x64/0x74)
[<8010d9d8>] (page_remove_rmap+0x64/0x74) from [<80105f34>] (unmap_vmas+0x424/0x6a0)
[<80105f34>] (unmap_vmas+0x424/0x6a0) from [<8010b7d0>] (exit_mmap+0x108/0x248)
[<8010b7d0>] (exit_mmap+0x108/0x248) from [<80078910>] (mmput+0x48/0x114)
[<80078910>] (mmput+0x48/0x114) from [<8007e390>] (exit_mm+0x130/0x170)
[<8007e390>] (exit_mm+0x130/0x170) from [<8007e500>] (do_exit+0x130/0x74c)
[<8007e500>] (do_exit+0x130/0x74c) from [<8007ed78>] (do_group_exit+0x3c/0xbc)
[<8007ed78>] (do_group_exit+0x3c/0xbc) from [<8008d994>] (get_signal_to_deliver+0x2c0/0x490)
[<8008d994>] (get_signal_to_deliver+0x2c0/0x490) from [<80044144>] (do_signal+0x64/0x4ec)
[<80044144>] (do_signal+0x64/0x4ec) from [<80044b48>] (do_notify_resume+0x38/0x44)
[<80044b48>] (do_notify_resume+0x38/0x44) from [<80041af8>] (work_pending+0x24/0x28)
Code: 1a00006d eb00127e e2505000 0a00006a (e5953000)
---[ end trace 47a02ad8abd4eafb ]---
Fixing recursive fault but reboot is needed!
BUG: scheduling while atomic: memtester/231/0x00000002
Modules linked in:
[<8004841c>] (unwind_backtrace+0x0/0xf8) from [<8054d714>] (__schedule+0x4dc/0x758)
[<8054d714>] (__schedule+0x4dc/0x758) from [<8007eae4>] (do_exit+0x714/0x74c)
[<8007eae4>] (do_exit+0x714/0x74c) from [<80045308>] (die+0x21c/0x290)
[<80045308>] (die+0x21c/0x290) from [<805488a8>] (__do_kernel_fault.part.2+0x54/0x74)
[<805488a8>] (__do_kernel_fault.part.2+0x54/0x74) from [<8004be14>] (do_sect_fault+0x0/0x10)
[<8004be14>] (do_sect_fault+0x0/0x10) from [<00000015>] (0x15)
BUG: scheduling while atomic: swapper/0/0x00000000

Но подняв напряжение питания ядра до 1,25 В у нас такого не наблюдается.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux