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
Топикстартер никого не оскорблял, он задал вопрос в силу своей компетенции, и первый же гуру, кто соизволил ответить, начал изливать потоки сарказма, которые, как я подозреваю, модератором теперь выпилены. Но я все помню: местные гуры, разгоряченные писькомерством в темах про распределение ОЗУ и в " ARM для начинающих", стали его гнобить всеми доступными им средствами. Это нормально для наших форумов: где можно обойтись сухим конкретным ответом, там истинный гуру обязательно разразился потоком интеллектуального поноса в адрес топикстартера.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Но я все помню: местные гуры, разгоряченные писькомерством в темах про распределение ОЗУ и в " ARM для начинающих", стали его гнобить всеми доступными им средствами.
Сам же говорил, что после многих лет примерного поведения на форуме(в чем лично я очень сомневаюсь), можно называть оппонентов идиотами и дебилами даже не запоминая к кому именно такое обращение было направлено, все равно эти незначительные людишки по хорошему не понимают
Т.е. - если Вас назовут дебилом вот просто так - это для Вас это не оскорбление? И то что ТС использует ненормативную лексику в общении - для Вас это тоже норма? И хамство в каждом сообщении - в порядке вещей?
Я никого не называл дебилом. Дебилизм - клиническая болезнь. Я назвал "грамматическая ошибка на уровне 4 класса". Подчеркнуто оскорбительно. Однако не огульно всех. А только человека, который решил просканить меня на предмет гнилости и поиздеваться надо мной.. Дальше как-то по инерции... у меня есть достоинство. Но это все ерунда, думаю нет смысла обсуждать все это. Я постараюсь сейчас скинуть этот цикл, из которого не могу вылезти Спасибо.
Добрый вечер всем!! Такой у меня завис с пониманием процессов. Что происходит с программой, когда она заканчивается? .... Это как-то связано с тем, что в ассемблерном коде в конце есть волшебное слово END?
Программа не выгружается и не вытерается , она остается во флэш. В случае загрузки и исполнении в RAM , таки да , все загруженное после пропадания питание исчезает. END это комманда препроцессора- окончание записи, к испоняемому коду не относится.
Кроме прочего прошу с пониманием отнестись к моей несколько хамоватой реакции на некоторых людей. Которые в сущности могут вживую оказаться довольно приличными людьми, однако интернет, расстояния, некоторая анонимность а также нежелание потенциальных оппонентов ввязываться в метание говна позволяют пробудиться в них низменным чувствам доминирования и прочего БДСМ. Берегите друг друга. Для всего остального есть все остальные.
Программа не выгружается и не вытерается , она остается во флэш. В случае загрузки и исполнении в RAM , таки да , все загруженное после пропадания питание исчезает. END это комманда препроцессора- окончание записи, к испоняемому коду не относится.
Я вообще не подразумевал флеш. Имел ввиду именно оперативку. Сейчас копаюсь в кодах и всем остальном. Попытаюсь дойти до сути.
Но судя по всему программа во флеш МК работает с оперативкой сильно иначе, чем программа в компьютере.. Там операционка загружает прогу в RAM.... то есть я неправильно представлял все это себе.
Но судя по всему программа во флеш МК работает с оперативкой сильно иначе, чем программа в компьютере.. Там операционка загружает прогу в RAM.... то есть я неправильно представлял все это себе.
Обычно RAM в МК это хранилище данных а не кода. Как и писал выше, можно юзать RAM для исполнчемого кода , но насколько помнится выигрыша большого не будет. И да , здесь не PC , где RAM и код и данные а загрузка с винтов и т.д.
Сам же говорил, что после многих лет примерного поведения на форуме(в чем лично я очень сомневаюсь), можно называть оппонентов идиотами и дебилами даже не запоминая к кому именно такое обращение было направлено, все равно эти незначительные людишки по хорошему не понимают
говорил примерно так, да. но говорил про себя, а не про топикстартера. мне можно, я старый
Мурик писал(а):
Слово "дебил" это не оскорбление? viewtopic.php?p=3448339#p3448339
Мурик, главное, кто создает прецедент: если вы изъязвляете свою речь изысканно ПЕРВЫМ, то в ответ (НЕ ПЕРВЫМ) можно обозвать вас и попроще. если вы считаете себя умнее, не унижайте оппонента ПЕРВЫМ, и не будете названы дебилом ВТОРЫМ. в теме пока 2 страницы - прочтите первое сообщение топикстартера - кого он назвал дебилом? жаль, первый ответ на его вопрос уже удален... но я помню, что там уксус пополам с желчью. я бы тоже психанул и в ответ назвал бы достойным словом.
jcxz писал(а):
И хамство в каждом сообщении - в порядке вещей?
я читал ваше общение с другими в другой теме, и скажу так: чья б корова мычала! до тех пор, пока вы не заслужили с моей стороны звания дебила, я вас так не назову. но все в ваших руках - старайтесь, и услышите от меня и не такое. я действую по принципу простому: первым не начинай, но в ответ бей наповал.
dosikus писал(а):
Программа не выгружается и не вытерается , она остается во флэш. В случае загрузки и исполнении в RAM , таки да , все загруженное после пропадания питание исчезает. END это комманда препроцессора- окончание записи, к испоняемому коду не относится.
учитесь: досикус вот пример вам показал, хотя ранее особой нежностью не отличался.
khch писал(а):
Вот он, без while
вам надо смотреть не цикл, а то, что после него. не скажу за ARM-GCC, но AVR-GCC после возврата из main запрещает прерывания и уходит в бесконечный цикл. таким образом, состояние периферии остается в том виде, как было в main, но ничего более ядро не делает. со стороны наблюдателя это выглядит, как полное зависание контроллера (если WDT не активирован, конечно). примерно так же, вероятно, поступает компилятор и под ARM, и под любой иной МК.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Операционная система и есть та самая программа, которую Вы пытаетесь обсуждать. А загружаемая программа в РС - это лишь часть исполняемого кода в недрах ОС. Таким образом, поведение процессора в МК и в РС ничем не отличается. Счетчик команд в центральном процессоре либо инкрементируется, либо модифицируется из кода или контроллера прерываний. По завершении осмысленного кода в памяти программ (флеш или ОЗУ) счетчик продолжит свою работу до своего переполнения и начнет следующий круг. Но в разных платформах есть различные особенности, которые могут привести к ресету или вызову исключений, если счетчик команд выйдет за пределы допустимого сегмента памяти. Внешне это будет напоминать либо циклическое исполнение кода до очередного ресета или зависание на обработке исключений (такой же пустой цикл). Но останова не будет.
linuxdude, вы явно понимаете как что работает, но делаете довольно смелые обобщения на основе частного опыта. Тем самым формулируете в общем случае ошибочные утверждения. Если бы ТС не кинулся оскорблять всех без разбора, я бы ещё вчера кинул пример стартапа, в котором отлично видно кто кого вызывает и что делается после main.
На самом деле у меня достаточно разнообразный опыт с микропроцессорными системами и как это делают. Но вы кое-в-чем правы: я привел наиболее типовой сценарий для микроконтроллеров и тому подобного. Иногда встречаются и более странные конфигурации. Но это довольно редко и экзотично. А на полное описание всех причуд всех мыслимых железок не хватит и трехтомника, потому что теоретически может быть все что угодно. Как захочет тот кто делает чип сделать - так и будет.
Нафиг топикстартер кого-то оскорбил - я не знаю. Да и остальные какой-то троллятник развели. При том в изначальном посте вроде бы ничего ужасно оскорбительного не было. Ну спросил человек, а то что потом все по спирали скатилось - куда модераторы смотрят?
Последний раз редактировалось linuxdude Вс сен 02, 2018 14:06:10, всего редактировалось 1 раз.
я читал ваше общение с другими в другой теме, и скажу так: чья б корова мычала! до тех пор, пока вы не заслужили с моей стороны звания дебила, я вас так не назову. но все в ваших руках - старайтесь, и услышите от меня и не такое. я действую по принципу простому: первым не начинай, но в ответ бей наповал.
Я весь трепещу! Да я тоже Ваши "сообщения" почитал как видите выше. И впечатления о Вас вполне составил, как и остальные участники. По делу == 0, только провокации и флуд. Мож тоже психануть?
Да ладно вам, психанул с кем не бывает. Со времнем все осознает, научится , может и вас за пояс заткнет. Дело то в другом, ARV как был местячковым гуру тини так и останется...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения