Jump to content

    

Alfa

Участник
  • Content Count

    52
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Alfa

  • Rank
    Участник

Информация

  • Город
    Array
  1. Есть желание получить универсальное решение. Так что IarBuild.exe не катит. PS: те куски листинга которые показывал теперь одинаковые (действительно исходники отличались) . В других файлах есть отличия, но там тоже видимо что менялось...
  2. Позор на мою седую голову.... Спасибо за пинок в правильную сторону.....
  3. Пытаюсь переползти из IDE IAR на Eclipse (компиляция из командной строки)... Написан makefile для eclipse. Проект компилируется и собирается. Тот же самый проект компилируется и собирается в IAR. Логи компиляции в IAR и в Eclipse полностью совпадают (параметры передаваемые компилятору и линкеру). Но выходной размер flash и озу получается разный.... Стал смотреть получаемые листинги отдельных файлов. компиляция из eclipse: 8 072 bytes of CODE memory (+ 488 bytes shared) 81 bytes of CONST memory 25 bytes of DATA memory компиляция из IAR: 8 060 bytes of CODE memory (+ 488 bytes shared) 81 bytes of CONST memory 25 bytes of DATA memory кусок листинга eclipse 621 // применим контрастность 622 AT91C_BASE_PWMC_CH3->PWMC_CUPDR=CONTRAST_MIN+ParametersPCN.Contrast*(CONTRAST_MAX-CONTRAST_MIN)/100; \ 000005A4 E4249FE5 LDR R2,??FillInOutParamPCN_25 ;; 0xfffcc270 \ 000005A8 4500D7E5 LDRB R0,[R7, #+0x45] \ 000005AC 4C10A0E3 MOV R1,#+0x4C \ 000005B0 401E81E3 ORR R1,R1,#+0x400 \ 000005B4 910000E0 MUL R0,R1,R0 \ 000005B8 6410A0E3 MOV R1,#+0x64 \ 000005BC ........ _BLF ??div32_a,??rA??div32_a \ 000005C0 7800A0E3 MOV R0,#+0x78 \ 000005C4 500E80E3 ORR R0,R0,#+0x500 \ 000005C8 010080E0 ADD R0,R0,R1 \ 000005CC 000082E5 STR R0,[R2, #+0] кусок листинга IAR 621 // применим контрастность 622 AT91C_BASE_PWMC_CH3->PWMC_CUPDR=CONTRAST_MIN+ParametersPCN.Contrast*(CONTRAST_MAX-CONTRAST_MIN)/100; \ 000005A4 D8249FE5 LDR R2,??FillInOutParamPCN_25 ;; 0xfffcc270 \ 000005A8 4500D7E5 LDRB R0,[R7, #+0x45] \ 000005AC 7D1EA0E3 MOV R1,#+0x7D0 \ 000005B0 910000E0 MUL R0,R1,R0 \ 000005B4 6410A0E3 MOV R1,#+0x64 \ 000005B8 ........ _BLF ??div32_a,??rA??div32_a \ 000005BC 7D0F81E2 ADD R0,R1,#+0x1F4 \ 000005C0 000082E5 STR R0,[R2, #+0] В принципе то что собралось в eclipse работает корректно (по крайней мере на первый взгляд), но напрягает что есть отличия.... Есть идеи что я сделал неправильно?
  4. Я бы рекомендовал вам почитать Reference manual RM0041 STM32F100xx advanced ARM-based 32-bit MCUs. Но не раздел 2.4 Boot configuration в котором есть таблица 6 в которой написано что же делать с этими ногами. И не 25.4.1 SWJ debug port pins где написано про выводы JTAG и SW, а хотя бы на раз по диагонали просмотреть весь документ. Уверен вы узнаете много нового и полезного. И знания эти помогут избежать ошибок... ну и даташит никто не отменял...
  5. Про залочку-разлочку почитайте PM0075 STM32F10xxx Flash memory microcontrollers... Для разлочки там предлагается два варианта. Один со стиранием флеша, другой - без.....
  6. to AndreyKeil Затирание всей флеши происходит при попытке снять биты защиты от чтения... Может здесь собака порылась?
  7. USB programmer AVR910

    Коза у вас где-то на плате.... На reset должна быть "1". При программировании опускается программатором в "0". После программирования возврат в "1". В процессе могут быть перепады для передачи команды. Подробнее в даташите Memory Programming-> SPI Serial Programming Algorithm на любой avr.
  8. USB programmer AVR910

    Осциллограф есть? На выводах процессора программатора надо смотреть. Может шлейф "неправильный". На RESET 0 всегда? Чем смотрели? Когда прошивали процессор программатора были ошибки? Может стоит перепрошить?
  9. USB programmer AVR910

    Подключать master output на slave output !?!?!? оригинальненько..
  10. 2 CADiLO: Про защиту от считывания ПО в EAT sim900 есть что сказать?
  11. Про Quectel я в курсе - мне офф представители сказали. Думал вдруг в EAT этот вопрос решен... Только тогда теряется смысл использовать OCPU...
  12. Вопрос по EAT. Может где уже спрашивали - поиском не нашел.... Можно ли защитить свою прошивку от считывания?
  13. У меня исторически сложилось что при запуске проверяется контрольная сумма и памяти программ и памяти данных. Если проблемы - индицируем пользователю. Прошивка может обновляться, поэтому чтобы быть уверенным что все залилось корректно - проверяю CRC flash. Параметры в eeprom влияют на алгоритмы работы прибора. Параметры также могут меняться юзером. Потому проверяю CRC eeprom. Если есть возможность храню две копии параметров. Одна сбойнет - читаем другую и восстанавливаем порченную.... Насчет контроля ОЗУ. никогда не применял. ИМХО этот изврат может понадобиться крайне редко. например если рядом включаются- выключаются многокиловатные движки или взрываются атомные бомбы... как то так
  14. в списке поддерживаемых в iar (v5.50) есть STM32W108. без букв... тут http://www.st.com/internet/mcu/product/245381.jsp на вкладке design support много полезного есть...
  15. Проблема решена. были перепутаны tms и tck ноги jtag.... mt-link версии 5.0 работает с контроллерами st32...