-
- Посмотрел, по этому стандарту, указал регистры по нему, один фиг компилятор раскидал переменные как попало. Ладно, не стал прямо назначать регистры: michas(2300 знак., 04.01.2018 18:00)
- Интересно зачем тестировать побайтно, если процессор 32 разрядный? misyachniy(680 знак., 04.01.2018 20:31)
- if ((*(__IO uint8_t*)addres_ram) != 0x56) - явно нужно 0x55 а не 0x56 michas(329 знак., 05.01.2018 09:02)
- Интересно зачем тестировать побайтно, если процессор 32 разрядный? misyachniy(680 знак., 04.01.2018 20:31)
- Спасибо, понял куда копать Ручное распределение дает иллюзию что я управляю ситуацией. - michas(04.01.2018 17:25)
- Если нужно из сишной функции распихать данные по нужным регистрам, надо сделать ассемблерную обёртку, которая это и делает. - SciFi(04.01.2018 17:29)
- Я хелп на Кейл почитал michas(937 знак., 04.01.2018 18:04)
- Прочтите внимательно последний абзац - You must и т.д. Но в C не нужно ничего распихивать по регистрам в 99.9% случаев. - a3r3(04.01.2018 18:13)
- На глобальное объявление компилятор ругается. И про поведение - я так понимаю что могут быть проблемы при таком использовании в подпрограмме программы. Что тут то компилятору мешает? Никто регистры не портит, никаких прерываний и т.п. Сделал дело michas(582 знак., 04.01.2018 18:22 - 18:24)
- Где и что компилятор сует в ОЗУ? Если ему не мешать (всякими -O0 и т.п.), то все прекрасно разместит в РОН. Результат вернется в R0. - a3r3(04.01.2018 19:29)
- Убрал отключение оптимизации michas(7302 знак., 04.01.2018 19:41)
- Уберите volatile. - a3r3(04.01.2018 19:46)
- Убрал, помогло. Вот же. michas(99 знак., 04.01.2018 19:54 - 19:59)
- Уберите volatile. - a3r3(04.01.2018 19:46)
- Убрал отключение оптимизации michas(7302 знак., 04.01.2018 19:41)
- Зачем регистры? Нужно сопрягаться с другим кодом? - SciFi(04.01.2018 18:27)
- Ну блин. Я как умная маша решил что так проще. Почему нельзя регистры использовать то? - michas(04.01.2018 18:33)
- Патамушта это тяжкие последствия от контузии ассемблером. - SciFi(04.01.2018 18:53)
- Не, небыло такого, иначе я бы на асме уже написал и не мучался. Я в принципе не понимаю, что плохого в тестировании ОЗУ используя только РОН? - michas(04.01.2018 18:59)
- А смысл? Почему свет клином сошёлся на РОН? - SciFi(04.01.2018 19:05)
- Скажите конкретно, как правильно? - michas(04.01.2018 19:13)
- Что такое "правильно", раз уж мы отвечаем вопросом на вопрос? - SciFi(04.01.2018 19:18)
- Скажите конкретно, как правильно? - michas(04.01.2018 19:13)
- А смысл? Почему свет клином сошёлся на РОН? - SciFi(04.01.2018 19:05)
- Не, небыло такого, иначе я бы на асме уже написал и не мучался. Я в принципе не понимаю, что плохого в тестировании ОЗУ используя только РОН? - michas(04.01.2018 18:59)
- Патамушта это тяжкие последствия от контузии ассемблером. - SciFi(04.01.2018 18:53)
- Ну блин. Я как умная маша решил что так проще. Почему нельзя регистры использовать то? - michas(04.01.2018 18:33)
- Где и что компилятор сует в ОЗУ? Если ему не мешать (всякими -O0 и т.п.), то все прекрасно разместит в РОН. Результат вернется в R0. - a3r3(04.01.2018 19:29)
- На глобальное объявление компилятор ругается. И про поведение - я так понимаю что могут быть проблемы при таком использовании в подпрограмме программы. Что тут то компилятору мешает? Никто регистры не портит, никаких прерываний и т.п. Сделал дело michas(582 знак., 04.01.2018 18:22 - 18:24)
- Прочтите внимательно последний абзац - You must и т.д. Но в C не нужно ничего распихивать по регистрам в 99.9% случаев. - a3r3(04.01.2018 18:13)
- Я хелп на Кейл почитал michas(937 знак., 04.01.2018 18:04)
- Если нужно из сишной функции распихать данные по нужным регистрам, надо сделать ассемблерную обёртку, которая это и делает. - SciFi(04.01.2018 17:29)
- Посмотрел, по этому стандарту, указал регистры по нему, один фиг компилятор раскидал переменные как попало. Ладно, не стал прямо назначать регистры: michas(2300 знак., 04.01.2018 18:00)