В настоящее время я делаю шаг, чтобы обновить свои проекты в свободное время до использования ARM вместо 8-битных микрочипов от Microchip.
Но, к сожалению, я столкнулся с некоторыми проблемами:
Я не очень понимаю различия в способах программирования: - программирование в ПЗУ - программирование в ОЗУ (которое в моем случае всего 32К)
Я уже провел несколько тестов «hello world» с IAR IDE, где компиляция/программирование выполнялись с заданной конфигурацией, о которой я не беспокоился. Но мне не нравилась IAR IDE и ограничение компилятора IAR в 32 КБ, поэтому я решил настроить новую среду (см. конфигурацию ниже).
После настройки среды Eclipse, используя примеры, предоставленные IAR, мне удалось запрограммировать ARM в ОЗУ. Но когда я хотел запрограммировать ARM на ПЗУ, программа, похоже, ничего не делала. Я использовал примеры make-файлов, которые, как я полагаю, каким-то образом отображались в ПЗУ или ОЗУ, мне приходилось каждый раз определять только один из них.
Я знаю, что ПЗУ является постоянной памятью и не будет пустым после отключения питания, а ОЗУ работает быстрее, но требует загрузки программы в ARM каждый раз.
Нужно ли мне разделить мою программу на части ПЗУ и ОЗУ, или я могу запрограммировать все в ПЗУ таким образом, чтобы ARM переназначал код в ОЗУ при включении?
В настоящее время я использую следующую конфигурацию:
- Источник кода GCC
- Затмение С/С++
- Программист Segger Jlink (сервер GDB)
- Библиотека CMSIS или LPCOpen (еще не полностью работает)
- NXP LPC1766 Cortex M3
- Windows 8 64-разрядная
- Примеры IAR для LPC1768 и CMSIS
- примеры из NXP: lpc17xx.cmsis.driver.library
Может кто-нибудь, пожалуйста, помогите мне понять различные способы использования ПЗУ и ОЗУ и как мне настроить мой компилятор/создать файлы для использования памяти ПЗУ и ОЗУ.
В конце концов, я хочу иметь возможность запрограммировать ARM (я думаю) в ПЗУ таким образом, чтобы я мог выключать ARM без необходимости каждый раз перепрограммировать его.