Загрузочное

Mar 15, 2011 11:54

В этой заметке хочу написать об околозагрузочных вещах, которые мы делали в рамках нашего проекта на основе камня от Analog Devices BF-537 (семейство Blackfin). Постараюсь писать не сильно заумно, чтобы картина была более менее понятна не только специалистам, но и особо пытливым гражданским ( Read more... )

c++, programming

Leave a comment

Comments 35

insooo March 15 2011, 10:01:46 UTC
автор пиши исчо

Reply


mr_st March 15 2011, 11:52:07 UTC
Пейши ;)

Reply


derloos March 15 2011, 12:15:06 UTC
Тупой вопрос от тупого гражданского: получается, бутер всегда остается неизменным и сам по себе никаким обновлениям не подвержен?

Reply

cd_riper March 15 2011, 12:16:56 UTC
скажем так, обновлять бутер силами пользователя не желательно (но возможно), т.к. сбой при этом убьет девайс

Reply


мои 5 коппек anonymous March 15 2011, 16:22:44 UTC
Что мне не понравилось в коде ( ... )

Reply

Re: мои 5 коппек cd_riper March 15 2011, 17:00:58 UTC
> int повсюду вместо size_t

это осознанно.

> который похоже посылает все в деструкторе

такой подход бывает удобен, не нужно дергать лишний метод

> не увидел обработки ошибок выделения памяти

о чем речь? о bad_alloc?

> Простыня из ифов вместо свитча

это осознанно.

> Довольно неуклюжая конструкция Utils::RawCRC32::InitialValue

http://dl.dropbox.com/u/490401/src/RawCRC32.h

> В остальных функциях тоже самое. Кстати SendCompressed - тоже не const, а должен

const часто теряется по причине банальной невнимательности.

> Тестовое задание ты точно получил-бы)

не сказал бы, что мне это сильно польстило.

по факту, почти весь код не мой, а моей бывшей подчиненной :)

Reply

Re: мои 5 коппек anonymous March 15 2011, 17:26:48 UTC
Чтож, осознанный код - это хорошо. Собственно, и ногу отстрелить себе можно тоже осознанно.

CRC не убедил. Претензия в большей части относилась к слову RawCRC32. Че еще за raw, а что не raw тогда? И если константа называется raw, то почему функция не называется UpdateRawCRC32?

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

Насчет const такое дело - ты (или твоя подчиненная) или пишешь сразу с const, и тогда это существенно влияет на дизайн, или ты сначала пишешь, а потом расставляешь const туда, где забыл. Результат, конечно, получается разный.

Кстати, может выложишь немного своего кода? Ожидаю увидеть там буст, про который я часто слышал)

Reply

Re: мои 5 коппек cd_riper March 15 2011, 17:57:17 UTC
> Собственно, и ногу отстрелить себе можно тоже осознанно.

знаешь, это часто приходится слышать от людей, которые запрещают тебе ковыряться в носу (с)

switch короче if'ов, но делать что-то полезное в деструкторе почему-то плохо :)

> а что не raw тогда?

так сложилось исторически, не raw это код, который основан на boost, кэп подсказывает, что класс назывался просто Utils::CRC32.
с какого-то момента появился raw как переносимая версия.

> у нас тут ембеддед

у нас тут embedded, который мало чем отличается от десктопа и имеет мало общего с онанизмом программирования каких-то 8-ми разрядных PIC'ов.

> Насчет const такое дело

я знаю как правильно.
но почему-то от раза к разу путаю "тся" и "ться".
мне убить себя оп стену? :)

> Ожидаю увидеть там буст, про который я часто слышал)

ты никогда не видел живых смартпоинтеров? :)
или ты думаешь, что я, как всякий порядочный священник, проповедаю то, чем сам не занимаюсь каждый день?

Reply


ssimonov3 March 15 2011, 16:59:35 UTC
"историю, чуть больше чем полностью, состоящую из нецензурных выражений" ждем 8)

Reply

ssimonov3 March 15 2011, 16:59:59 UTC
Надо, надо. Это ж воистину научно-техническое творчество моложежи! ;-)

Reply

cd_riper March 15 2011, 17:01:46 UTC
заготовка полгода валяется, все руки не дойдут.
там задумано эпическое полотно.

Reply

ssimonov3 March 15 2011, 17:02:37 UTC
О! На днях буду общаться с неким товарищем, спрошу, актуально ли им. Надо тебя на бумагу двигать 8)

Reply


Leave a comment

Up