ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
1123919
my504 (13.08.2021 11:29, просмотров: 1828)
Второй день трахаюсь с форумом Микрочипа (который .com/forum), пытаясь выяснить простой вопрос (в смысле формулировки, а не существа). Вместо ответа по существу получаю уроки написания кода... Попробую тут озвучить. Вдруг кто столкнулся. 

https://www.microchip.com/forums/m1181805.aspx#1181999

Проблема.

1. dsPIC33CH512MP208. Два ядра 90/100 MIPS. Проект на ЧИСТОМ Ассемблере. Без .include "xc.inc"

2. Написал код Slave-ядра. Работает штатно.

3. Написал код Master-ядра (без запуска Slave). Тоже все ништяк-ништяк.

4. Пишу функцию загрузки Slave, возникает парадоксальная ситуация.

Имидж Slave находится во флеше Мастера по фиксированному адресу. Гружу из него в Slave, верифицирую - все проходит без ошибок. Но далее возникает ДВА варианта. Либо запуск Slave происходит (это отдельная функция с разблокировкой), либо нет. Это определяется количеством инструкций кода Мастера. Добавляешь в любом месте кода инструкцию - запускается Slave, еще одну добавляешь - не запускается...

Как такое может быть? Ведь имидж Slave во флеше Мастера прибит гвоздями к адресу 0x2000 (ПОСЛЕ кода Мастера) и не изменяется...

Еще одна ссылка на тему моего собеседника по обсуждаемому вопросу:

https://www.microchip.com/forums/m1176396.aspx