Forger 19 25 июля, 2018 Опубликовано 25 июля, 2018 · Жалоба А как понять "из списка доступных билдов нужно лишь выбрать нужный под нужную ОСь и пересобрать проект"? Под ядро я имел в виду ось, ибо эмбеддерские это все же больше ядра просто, иногда с плюшками, не суть Под ядром я понимаю ядро - CPU, т.е. железо. Под RTOS - я понимаю ОСь, т.е. программную библиотеку, которой по сути является любая ОСь. Я уже уточнил, что делал разные билды под разные ОСи с целью выяснить, какая ось для меня ловчее. В одном из проектов. В других проектах поменять ось чуть дольше - для этого нужно к проекту подключить соотв. библиотеку нужной оси (заранее собирается в библиотеку), а ненужную удалить. Настройки ОСи и сам код не меняются и не зависит от ОСи. Это очень удобно при сопровождении проекта и переносе кусков проекта с одного железа на другое. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 25 июля, 2018 Опубликовано 25 июля, 2018 · Жалоба Под ядром я понимаю ядро - CPU, т.е. железо. Под RTOS - я понимаю ОСь, т.е. программную библиотеку, которой по сути является любая ОСь. Я уже уточнил, что делал разные билды под разные ОСи с целью выяснить, какая ось для меня ловчее. В одном из проектов. В других проектах поменять ось чуть дольше - для этого нужно к проекту подключить соотв. библиотеку нужной оси (заранее собирается в библиотеку), а ненужную удалить. Настройки ОСи и сам код не меняются и не зависит от ОСи. Это очень удобно при сопровождении проекта и переносе кусков проекта с одного железа на другое. Я вообще о том, что перенести проект из freeRtos под, например, scmRtos это отнюдь не две минуты. Впрочем это ни о чем, как и весь топик. Хотя полезное есть и в нем (топике) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 19 25 июля, 2018 Опубликовано 25 июля, 2018 · Жалоба Я вообще о том, что перенести проект из freeRtos под, например, scmRtos это отнюдь не две минуты. Да, если он изначально был написан конкретно под freeRTOS. Я же немного про другое )) Впрочем это ни о чем, как и весь топик. В этом смысле он почти ничем не отличается от большинства топиков в этом разделе :D Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 25 июля, 2018 Опубликовано 25 июля, 2018 · Жалоба В этом смысле он почти ничем не отличается от большинства топиков в этом разделе :D Ну кто же виноват, что stackoverflow нужный ответ за минуту находится. Просто иногда не находится ничего, потому что не ищешь, а не ищешь потому что даже не знаешь, что такое бывает )) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 197 25 июля, 2018 Опубликовано 25 июля, 2018 · Жалоба Операционку он ucos юзал, не в восторге, но работает. Я хотел бы scmRTOS, но это потом. Кстати крутая программистка, которая тоже сидела над этим проектом за нее. Сурово у вас.... За операционку уже сажают! как в 37-ом :biggrin: Зачем приводить к u8, а потом к uint? Это аналог: (uint)((x) & 255) но выглядит проще. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 19 25 июля, 2018 Опубликовано 25 июля, 2018 · Жалоба Сурово у вас.... За операционку уже сажают! как в 37-ом :biggrin: Раз пошла такая пьянка... Вот мы тут хихикаем, а отечественные законотворцы начитаются этого и введут запрет на использование иностранных операционок в рамках импортозамещения ... И будем переписывать, например, freeRTOS по-русски. Вот я уже придумал название: "бесплОС" или "бесплатОС" :biggrin: Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 26 июля, 2018 Опубликовано 26 июля, 2018 · Жалоба БолгенОС уже была.. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 137 26 июля, 2018 Опубликовано 26 июля, 2018 · Жалоба Это аналог: (uint)((x) & 255) но выглядит проще. Так и подумалось вначале. И будем переписывать, например, freeRTOS по-русски. Вот я уже придумал название: "бесплОС" или "бесплатОС" :biggrin: А мы не смеемся. Вот только есть один момент. Законопроекта как такового пока что нет, а вот пути развития уже поставлены - собственно, действительно была поставлена задача разработки отечественного ПО, и начали все с ОСРВ... Пока в рамках международного форума по информационным системам на службе ОПК РФ. Как назвать? ПонОС - "ПОНятная Операционная Система" :biggrin: БолгенОС уже была.. Тссс, вдруг он сейчас зарегистрируется и будет кричать "не БолгенОС а Болдженос"? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 26 июля, 2018 Опубликовано 26 июля, 2018 · Жалоба Да ладно? Про какой компилятор речь? IAR вполне себе тоже "проглатывает" :(((( В примере: static void Func(char *s) { s[1] = 0; } Func("test"); Это специальный случай - для него в стандарте сделали хак (иначе не назовёшь), иначе бы разломались практически все С программы (а С++ декларировался как совместимый с С, ха ха). Еще интересный вопрос возник. Как вам такая штука int searchDB (int v) { //.............. } .... main... searchDB('1234'); Тут gcc дает warning что то там multibyte, точно не помню. Просто интересное применение, раньше как-то не встречал такую идею. Нормальная multi byte символьная константа. Описана в стандарте. Единственный её минус (который практически не даёт её применять) - стандарт не описывает endianess этой самой константы, т.е. неизвестно, с какого конца целого числа будут выкладываться символы :( Если вам всё равно как именно она формируется, то использовать можно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 19 26 июля, 2018 Опубликовано 26 июля, 2018 · Жалоба Единственный её минус В данном случае это - не единственный минус. В этом достаточно убедится, попытавшись дать не sizeof(int), а меньше символов, например 2 или 3. Компилятор предупредит соотв. warning, но проект все равно успешно соберется. Не трудно догадаться, что предсказать результат работы такой функции в этом случае уже никто не сумеет ... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 26 июля, 2018 Опубликовано 26 июля, 2018 · Жалоба В данном случае это - не единственный минус. В этом достаточно убедится, попытавшись дать не sizeof(int), а меньше символов, например 2 или 3. А в чём проблема? Вариант с одним символом у вас вопросов не вызывает, с 4мя тоже (положим что int - 32 бита). Чем вам 2 или 3 символа не нравятся? Это же не строка, а символьный литерал. 'ABC' будет 0x414243 или 0x434241 (как карта ляжет). Других вариантов нет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 19 26 июля, 2018 Опубликовано 26 июля, 2018 · Жалоба А в чём проблема? Что будет в этой переменной int v, которую ожидает функция, если ей дать не '1234', а например '1', '12', '123' ? Нули или "мусор" из стека? "Стандарт" описывает эти нюансы? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 26 июля, 2018 Опубликовано 26 июля, 2018 · Жалоба Что будет в этой переменной int v, которую ожидает функция, если ей дать не '1234', а например '1', '12', '123' ?Т.е. вы утверждаете, что запись int v='1'; неправильна? Это что то новое, до сих пор миллионы програмистов ничего неорпеделённого в такой записи не видели. По вашему вопросу - в v будет 0x31, 0x3132, 0x313233 или 0x31, 0x3231, 0x333231 соотвественно для BE/LE машин. Нули или "мусор" из стека? "Стандарт" описывает эти нюансы?Никакого мусора 'из стека'. И да, стандарт эти 'нюансы' описывает. Может вы спутали литеральные константы и строки? Речь шла о '1234' а не о "1234" (второе вообще даст ошибку) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 19 26 июля, 2018 Опубликовано 26 июля, 2018 · Жалоба Т.е. вы утверждаете, что запись int v='1'; неправильна? Не утверждаю, а лишь спрашиваю ;) Никакого мусора 'из стека'. И да, стандарт эти 'нюансы' описывает. Ясно, значит, недостающие байты во многобайтовой переменной будут заполнены нулями. А BE/LE влияет на положение этих неявных нулей в переменной? С какой стороны будет "обрезана" слишком длинная литеральная константа (например, '12345678' для 4-байтового int) с учетом BE/LE? Может вы спутали литеральные константы и строки?Не спутал, мне известна разница. Честно говоря, никогда не использовал подобные неявные инициализации - многобайтовые литеральные константы. И, судя по всему, правильно делал :) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 26 июля, 2018 Опубликовано 26 июля, 2018 · Жалоба "С какой стороны будет "обрезана" слишком длинная литеральная константа" - ни с какой, даст ошибку компиляции Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться