ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
23912
il-2 (17.03.2005 19:13, просмотров: 409)
IAR AVR - кривой build_one_lib.bat Обычно библиотеку перекомпилируют, когда хотят воспользоваться залоченными регистрами. И актуально это как правило для маленьких контроллеров (опции -v0, -v1 - для 8К Code). А тут мне понадобилось залочить регистры для более крупного МК (-v3 -64K Data, 128K Code). И выяснилось, что Сабжевый батник для опций выше 0 и 1 работает неверно. После длительных упражнений и пошаговой отладки выяснилось следующее: В батнике имеется такая конструкция: goto asm_proc%PROC_OPT% :asm_proc3 :asm_proc2 if "%SMALL_FL%" == "yes" goto asm_proc :asm_proc6 :asm_proc5 :asm_proc4 echo -D__HAS_ELPM__=1 >> temp_aflag_base.xcl :asm_proc1 :asm_proc0 :asm_proc По замыслу она должна в зависимости от переменной PROC_OPT передавать управление на соответствующие метки. Реально переход ВСЕГДА происходит на последнюю метку. Это похоже глюк интерпретатора bat-файлов (все это проверялось на Windows 98) Это приводит к тому, что правильно отрабатываются только опции процессора 0 и 1. Подобный кусок встречается в батнике в двух местах. Единственный метод лечения - переписать батник, что я и сделал. Интересно, как этот батник будет работать под ХР и другими операционками?