-
- Если Вы хотите использовать библиотечные функции (типа арифметические умножения/деления, которые априори нереенрантные) одновременно в основной программе и в обработчиках прерываний, то чтение документации откроет Вам путь к истине. Аминь :-) - il-2(05.04.2008 14:32)
- глупость сказал. умножения-деления вполне себе реентерантные. - bialix(07.04.2008 09:37)
- Разве исходники run-time в этом IAR не доступны? Я дела с ним не имел, но кумекаю, что библиотека собирается из исходников, которые можно попытаться пересобрать с другими опциями линкера. VVB(92 знак., 04.04.2008 13:41)
- [занудство] а вы вообщето IAR от Keil отличаете? - bialix_(04.04.2008 16:25)
- Оговорился - VVB(07.04.2008 07:23)
- [занудство] а вы вообщето IAR от Keil отличаете? - bialix_(04.04.2008 16:25)
- Вообще интересный вопрос про реентрабельность функций стандартных библиотек. Алексей Мусин(494 знак., 04.04.2008 12:30)
- переписать нафик с нуля с поддержкой псевдо-реентерантности. А лучше выкинуть ее подальше, как можно быстрее. - bialix_(03.04.2008 14:34)
- все стандартные функции не перепишешь...меня интересует в принципе как это сделать... - Pahan(03.04.2008 15:27)
- в принципе берется исходник стандартной библиотеки под конкретную модель памяти и начинаете пилить напильником. других вариантов нет. - bialix_(03.04.2008 18:21)
- А смысл? Все равно памяти нет - Vladimir Ljaschko(03.04.2008 15:52)
- Почему? 64K, к примеру, не хватит? Вопрос именно в том, нахрена оно надо - вложенно printf вызывать? На выходе-то будет венигрет. - _basile(03.04.2008 20:45)
- Рассказываю.Ситуация такая: операционка, в разных задачах вызываю sprintf (параллельно), но sprintf помимо регистров и стека использует одну и туже облать памяти xdata для своих нужд. Из-за этого один поток "мешает" другому, sprintf работает не Pahan(193 знак., 04.04.2008 11:47)
- Как так "объявить", если она библиотечная и уже собрана как нереентрабельная? Алексей Мусин(164 знак., 04.04.2008 13:03)
- понятно, спасибо за советы, будем пилить напильником ))))) - Pahan(04.04.2008 13:09)
- Дык, этта...;О) Ну семафор какой пользуйте. А ваще я прецтавляю картину, как принтф с двух потокофф льёт в КОМ одновременно. - mse(04.04.2008 12:04)
- sprintf. А результат может литься в СОМ и на дисплей, например. Вполне естественное решение. - Cepгeй Бopщ(04.04.2008 12:08)
- я и использую sprintf...только sprintf неправильно работают из двух потоков, не потому что в один массив пишут (пишут в разные массивы), а потому что sprintf использует одну облать памяти xdata для "внутренних" нужд, промежуточных вычислений... - Pahan(04.04.2008 12:21)
- Это я пытался объяснить mse, что два sprintf использовать в разных потоках вполне логично. По вашему вопросу не подскажу - с кейлом не работаю. - Сергей Борщ(04.04.2008 14:07)
- Прерывания тогда запрещать. Или к спринтф обращаться как к разделяемому ресурсу. - mse(04.04.2008 15:02)
- Это я пытался объяснить mse, что два sprintf использовать в разных потоках вполне логично. По вашему вопросу не подскажу - с кейлом не работаю. - Сергей Борщ(04.04.2008 14:07)
- Ну да...В одном потоке "ААААААА", в другом - "БББББББ". Одновременно. В КОМ, например. Или на дисплей с адресаццыей курсора. ;О) - mse(04.04.2008 12:16)
- я и использую sprintf...только sprintf неправильно работают из двух потоков, не потому что в один массив пишут (пишут в разные массивы), а потому что sprintf использует одну облать памяти xdata для "внутренних" нужд, промежуточных вычислений... - Pahan(04.04.2008 12:21)
- sprintf. А результат может литься в СОМ и на дисплей, например. Вполне естественное решение. - Cepгeй Бopщ(04.04.2008 12:08)
- Как так "объявить", если она библиотечная и уже собрана как нереентрабельная? Алексей Мусин(164 знак., 04.04.2008 13:03)
- Рассказываю.Ситуация такая: операционка, в разных задачах вызываю sprintf (параллельно), но sprintf помимо регистров и стека использует одну и туже облать памяти xdata для своих нужд. Из-за этого один поток "мешает" другому, sprintf работает не Pahan(193 знак., 04.04.2008 11:47)
- Почему? 64K, к примеру, не хватит? Вопрос именно в том, нахрена оно надо - вложенно printf вызывать? На выходе-то будет венигрет. - _basile(03.04.2008 20:45)
- все стандартные функции не перепишешь...меня интересует в принципе как это сделать... - Pahan(03.04.2008 15:27)
- Если Вы хотите использовать библиотечные функции (типа арифметические умножения/деления, которые априори нереенрантные) одновременно в основной программе и в обработчиках прерываний, то чтение документации откроет Вам путь к истине. Аминь :-) - il-2(05.04.2008 14:32)