Как использовать переменную, определенную в одном двоичном файле, в другой двоичный файл в C - PullRequest
1 голос
/ 20 апреля 2020

У нас есть два ядра в микроконтроллере. Один CM0 + и другой CM7. Поэтому мы не можем создать один двоичный (исполняемый) вывод, потому что наборы инструкций различны для обоих ядер.

Однако существует одна структурная переменная, к которой нужно обращаться из обоих ядер, но которая определяется только в одном двоичном файле. Одна копия переменной требуется в памяти, поскольку оба ядра записывают в одну и ту же переменную и используют ее для синхронизации и обмена данными между ядрами.

Пример: Project CM0 +: переменная dataExchange доступна в файле CM0 + project C.

 stc_dataexchange dataExchange;
 stc_dataexchange *dataExchangePtr = &dataExchange;

Проект CM7: переменная dataExchange недоступна в этом проекте. Но мы хотим как-то решить эту проблему.

 stc_dataexchange *dataexchangeptr = &dataExchange; //dataExchange is not available. Compilation will result in error. 

Переменная dataExchnage доступна только в Project CM0 +, Project CM7 не знает об этом. Как инициализировать указатель на адрес dataExchange в проекте CM7? Fla sh память может быть доступна обоим ядрам.

...