| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Странен феномен с едноплатков компютър http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=17532 |
Страница 1 от 1 |
| Автор: | kalata23 [ Пет Сеп 11, 2020 2:41 am ] | |||||||||||||||||||||||||||||||||||||||||||||
| Заглавие: | Странен феномен с едноплатков компютър | |||||||||||||||||||||||||||||||||||||||||||||
На работа се натъкнах на един леко странен "феномен". Колежка се оплаква, че теста на едно изделие не работи с една конкретна платка, но другите платки от серията нямат такъв проблем. Първо си помислих, че има бъг в софтуера на теста. Изделието е един от едноплатковите компютри, които предлагаме, базиран на AllWinner A13. Тестът е следният: На една SD карта е записан линукс, в който е вкаран теста на изделието. След като буутне платката и зареди линукса в рама, линуксът трябва да стартира тестовия скрипт ( bash ). Тестовият скрипт първо отваря един файл, в който са записани конфигурациите на различните изделия и си търси реда със своята конфигурация (на базата на ID на платката). След като я намери парсва конфигурацията, за да знае какво трябва да тества. Да, обаче само на тая платка скриптът казва, че не намира конфигурация с такова ID. Изключвам платката, вадя SD картата и я слагам на друга платка от същата серия и повтарям процедурата. Там тестът си тръгва без проблем и не реве за ID-то. Тръгвам да дебъгвам скрипта и установявам, че поради някаква причина линуксът като зареди на въпросната платка не се кефи на фрагменти катo:
Обаче на други платки няма проблем. същият скрипт си върви без проблем на същия линукс зареден от същата карта. Пренаписах кода да стане от рода на:
И тука на проблемната платка тая част от кода заспа. Обаче по-нататък има момент в който параметрите на рама в конфигурацията са описани от рода на: RAM=524288 KB съответно, като парсна конфигурацията имам променлива RAM, която е със стойност "524288 KB" И там извиквам
Решавам да направя експеримент. Отварям си терминал на моя компютър и пиша:
в терминала на платката пиша същата команда и резултатът е:
И установявам, че всъщност awk се държи различно на тази платка, спрямо другите платки. И не мога да разбера, как при уж еднакъв хардуер (бомът е еднакъв на всички платки от серията) на който му се зарежда еднакъв софтуер има разлика в резултата при изпълнение на awk? Открих малка разлика във проблемната платка (от гледна точка на хардуера) спрямо останалите, а именно в RAM чипа: ![]() Последният ред букви и цифри, който е до маркера на чипа, на 3-те платки е еднакъв, обаче на проблемната платка е различен. Оттам стигнах до изводът, че може да има проблем с RAM чипа и поради някаква причина awk да не се държи както трябва на конкретната платка. Все пак целият линукс и тестовият софтуер и всичко стои във рама. |
||||||||||||||||||||||||||||||||||||||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|