Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: Бесконечный цикл...

Вс сен 02, 2018 08:57:16

сишный стартап
Код:
void __attribute__((naked, noreturn)) Reset_Handler()
{
   //Normally the CPU should will setup the based on the value from the first entry in the vector table.
   //If you encounter problems with accessing stack variables during initialization, ensure the line below is enabled.
   #ifdef sram_layout
   asm ("ldr sp, =_estack");
   #endif

   void **pSource, **pDest;
   for (pSource = &_sidata, pDest = &_sdata; pDest != &_edata; pSource++, pDest++)
      *pDest = *pSource;

   for (pDest = &_sbss; pDest != &_ebss; pDest++)
      *pDest = 0;

   SystemInit();
   __libc_init_array();
   (void)main();
   for (;;) ;
}

после вызова main - "В каком-то цикле"

Re: Бесконечный цикл...

Вс сен 02, 2018 09:38:34

khch писал(а):Я не могу смотреть отладчиком.
Почему?

khch писал(а):Убирай-не убирай, в конце концов он оказывается в одном и том же месте. В каком-то цикле.
Мы должны догадаться что и где оказалось? Или все же будет код или скриншоты?

Re: Бесконечный цикл...

Вс сен 02, 2018 10:38:54

Топикстартер никого не оскорблял, он задал вопрос в силу своей компетенции, и первый же гуру, кто соизволил ответить, начал изливать потоки сарказма, которые, как я подозреваю, модератором теперь выпилены. Но я все помню: местные гуры, разгоряченные писькомерством в темах про распределение ОЗУ и в " ARM для начинающих", стали его гнобить всеми доступными им средствами.
Это нормально для наших форумов: где можно обойтись сухим конкретным ответом, там истинный гуру обязательно разразился потоком интеллектуального поноса в адрес топикстартера.

Re: Бесконечный цикл...

Вс сен 02, 2018 10:56:10

Но я все помню: местные гуры, разгоряченные писькомерством в темах про распределение ОЗУ и в " ARM для начинающих", стали его гнобить всеми доступными им средствами.

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

Re: Бесконечный цикл...

Вс сен 02, 2018 10:59:08

ARV писал(а):Топикстартер никого не оскорблял
Слово "дебил" это не оскорбление? viewtopic.php?p=3448339#p3448339

Re: Бесконечный цикл...

Вс сен 02, 2018 11:35:07

Топикстартер никого не оскорблял

Т.е. - если Вас назовут дебилом вот просто так - это для Вас это не оскорбление? И то что ТС использует ненормативную лексику в общении - для Вас это тоже норма? И хамство в каждом сообщении - в порядке вещей?

Добавлено after 8 minutes 48 seconds:
Но я все помню: местные гуры, разгоряченные писькомерством в темах про распределение ОЗУ и в " ARM для начинающих"

Почитаем:
Размер ваших писек надо измерять в парсеках, профессионалы хреновы.

Так у кого в итоге больше?

Короче ясно: у a5021 толще, у jcxz длиннее, а у pvit сразу два.

Сразу видно кто чем озабочен и кто в чём гуру..... 8)

Re: Бесконечный цикл...

Вс сен 02, 2018 12:06:18

Я никого не называл дебилом. Дебилизм - клиническая болезнь. Я назвал "грамматическая ошибка на уровне 4 класса". Подчеркнуто оскорбительно. Однако не огульно всех. А только человека, который решил просканить меня на предмет гнилости и поиздеваться надо мной..
Дальше как-то по инерции... у меня есть достоинство.
Но это все ерунда, думаю нет смысла обсуждать все это.
Я постараюсь сейчас скинуть этот цикл, из которого не могу вылезти
Спасибо.

Re: Бесконечный цикл...

Вс сен 02, 2018 12:08:39

Добрый вечер всем!!
Такой у меня завис с пониманием процессов. Что происходит с программой, когда она заканчивается?
....
Это как-то связано с тем, что в ассемблерном коде в конце есть волшебное слово END?

Программа не выгружается и не вытерается , она остается во флэш. В случае загрузки и исполнении в RAM , таки да , все загруженное после пропадания питание исчезает.
END это комманда препроцессора- окончание записи, к испоняемому коду не относится.

Re: Бесконечный цикл...

Вс сен 02, 2018 12:15:35

Кроме прочего прошу с пониманием отнестись к моей несколько хамоватой реакции на некоторых людей.
Которые в сущности могут вживую оказаться довольно приличными людьми, однако интернет, расстояния, некоторая анонимность а также нежелание потенциальных оппонентов ввязываться в метание говна позволяют пробудиться в них низменным чувствам доминирования и прочего БДСМ.

Берегите друг друга. Для всего остального есть все остальные.

Добавлено after 1 minute 51 second:
Программа не выгружается и не вытерается , она остается во флэш. В случае загрузки и исполнении в RAM , таки да , все загруженное после пропадания питание исчезает.
END это комманда препроцессора- окончание записи, к испоняемому коду не относится.

Я вообще не подразумевал флеш. Имел ввиду именно оперативку. Сейчас копаюсь в кодах и всем остальном. Попытаюсь дойти до сути.

Re: Бесконечный цикл...

Вс сен 02, 2018 12:18:45

Исполнение в RAM требует много чего , используется чаще всего для отладки. Смысл?

Re: Бесконечный цикл...

Вс сен 02, 2018 12:19:23

Но судя по всему программа во флеш МК работает с оперативкой сильно иначе, чем программа в компьютере..
Там операционка загружает прогу в RAM.... то есть я неправильно представлял все это себе.

Re: Бесконечный цикл...

Вс сен 02, 2018 12:25:58

Но судя по всему программа во флеш МК работает с оперативкой сильно иначе, чем программа в компьютере..
Там операционка загружает прогу в RAM.... то есть я неправильно представлял все это себе.


Обычно RAM в МК это хранилище данных а не кода.
Как и писал выше, можно юзать RAM для исполнчемого кода , но насколько помнится выигрыша большого не будет.
И да , здесь не PC , где RAM и код и данные а загрузка с винтов и т.д.

Re: Бесконечный цикл...

Вс сен 02, 2018 12:36:24

Вот он, без while
Вложения
Untitled11.jpg
(185.36 KiB) Скачиваний: 433
Untitled.jpg
(233.06 KiB) Скачиваний: 198

Re: Бесконечный цикл...

Вс сен 02, 2018 12:51:33

Reflector писал(а):Сам же говорил, что после многих лет примерного поведения на форуме(в чем лично я очень сомневаюсь), можно называть оппонентов идиотами и дебилами даже не запоминая к кому именно такое обращение было направлено, все равно эти незначительные людишки по хорошему не понимают
говорил примерно так, да. но говорил про себя, а не про топикстартера. мне можно, я старый :)))
Мурик писал(а):Слово "дебил" это не оскорбление? viewtopic.php?p=3448339#p3448339
Мурик, главное, кто создает прецедент: если вы изъязвляете свою речь изысканно ПЕРВЫМ, то в ответ (НЕ ПЕРВЫМ) можно обозвать вас и попроще. если вы считаете себя умнее, не унижайте оппонента ПЕРВЫМ, и не будете названы дебилом ВТОРЫМ.
в теме пока 2 страницы - прочтите первое сообщение топикстартера - кого он назвал дебилом? жаль, первый ответ на его вопрос уже удален... но я помню, что там уксус пополам с желчью. я бы тоже психанул и в ответ назвал бы достойным словом.
jcxz писал(а):И хамство в каждом сообщении - в порядке вещей?
я читал ваше общение с другими в другой теме, и скажу так: чья б корова мычала! до тех пор, пока вы не заслужили с моей стороны звания дебила, я вас так не назову. но все в ваших руках - старайтесь, и услышите от меня и не такое. я действую по принципу простому: первым не начинай, но в ответ бей наповал.
dosikus писал(а):Программа не выгружается и не вытерается , она остается во флэш. В случае загрузки и исполнении в RAM , таки да , все загруженное после пропадания питание исчезает.
END это комманда препроцессора- окончание записи, к испоняемому коду не относится.
учитесь: досикус вот пример вам показал, хотя ранее особой нежностью не отличался.
khch писал(а):Вот он, без while
вам надо смотреть не цикл, а то, что после него.
не скажу за ARM-GCC, но AVR-GCC после возврата из main запрещает прерывания и уходит в бесконечный цикл. таким образом, состояние периферии остается в том виде, как было в main, но ничего более ядро не делает. со стороны наблюдателя это выглядит, как полное зависание контроллера (если WDT не активирован, конечно). примерно так же, вероятно, поступает компилятор и под ARM, и под любой иной МК.

Re: Бесконечный цикл...

Вс сен 02, 2018 13:37:38

Там операционка загружает прогу в RAM....

Операционная система и есть та самая программа, которую Вы пытаетесь обсуждать. А загружаемая программа в РС - это лишь часть исполняемого кода в недрах ОС.
Таким образом, поведение процессора в МК и в РС ничем не отличается.
Счетчик команд в центральном процессоре либо инкрементируется, либо модифицируется из кода или контроллера прерываний. По завершении осмысленного кода в памяти программ (флеш или ОЗУ) счетчик продолжит свою работу до своего переполнения и начнет следующий круг. Но в разных платформах есть различные особенности, которые могут привести к ресету или вызову исключений, если счетчик команд выйдет за пределы допустимого сегмента памяти. Внешне это будет напоминать либо циклическое исполнение кода до очередного ресета или зависание на обработке исключений (такой же пустой цикл). Но останова не будет.

Re: Бесконечный цикл...

Вс сен 02, 2018 13:47:25

linuxdude, вы явно понимаете как что работает, но делаете довольно смелые обобщения на основе частного опыта. Тем самым формулируете в общем случае ошибочные утверждения. Если бы ТС не кинулся оскорблять всех без разбора, я бы ещё вчера кинул пример стартапа, в котором отлично видно кто кого вызывает и что делается после main.
На самом деле у меня достаточно разнообразный опыт с микропроцессорными системами и как это делают. Но вы кое-в-чем правы: я привел наиболее типовой сценарий для микроконтроллеров и тому подобного. Иногда встречаются и более странные конфигурации. Но это довольно редко и экзотично. А на полное описание всех причуд всех мыслимых железок не хватит и трехтомника, потому что теоретически может быть все что угодно. Как захочет тот кто делает чип сделать - так и будет.

Нафиг топикстартер кого-то оскорбил - я не знаю. Да и остальные какой-то троллятник развели. При том в изначальном посте вроде бы ничего ужасно оскорбительного не было. Ну спросил человек, а то что потом все по спирали скатилось - куда модераторы смотрят? :kill:
Последний раз редактировалось linuxdude Вс сен 02, 2018 14:06:10, всего редактировалось 1 раз.

Re: Бесконечный цикл...

Вс сен 02, 2018 13:53:54

ARV писал(а):Мурик, главное, кто создает прецедент если вы изъязвляете свою речь изысканно ПЕРВЫМ, то в ответ (НЕ ПЕРВЫМ) можно обозвать вас и попроще.
ТС объяснили что к чему, а он дебилами людей называет. Посмотрите, ему задали вполне логичные вопросы по теме, а его ответ неадекватный. https://radiokot.ru/forum/viewtopic.php ... 0#p3448350

Видимо он очень невоспитанный человек.

Re: Бесконечный цикл...

Вс сен 02, 2018 14:18:32

Кто-то прав, кто-то нет.... Может прекратим? По-взрослому, без трусов перестанем себя так вести?

Я понял что мне надо понять. Благодарен всем, кто хоть как-то упомянул в своём посте суть проблемы..

Re: Бесконечный цикл...

Вс сен 02, 2018 15:10:03

но я помню, что там уксус пополам с желчью. я бы тоже психанул

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

Я весь трепещу! :o
Да я тоже Ваши "сообщения" почитал как видите выше. И впечатления о Вас вполне составил, как и остальные участники.
По делу == 0, только провокации и флуд. Мож тоже психануть? 8)

Re: Бесконечный цикл...

Вс сен 02, 2018 15:56:00

Да ладно вам, психанул с кем не бывает. Со времнем все осознает, научится , может и вас за пояс заткнет.
Дело то в другом, ARV как был местячковым гуру тини так и останется...
Ответить