كيفية تحديد نطاقات العناوين لرمز الموافقة المسبقة عن علم؟
سؤال
أريد استخدام أداة تحميل التشغيل الصغيرة Claudiu Chiculitas لـ PIC16 (لقد قمت بتعديلها لتناسب شريحتي) ولكن بما أن أداة تحميل التشغيل هذه لا تنقل التعليمات البرمجية لمنع الكتابة فوق أداة تحميل التشغيل، يجب أن أتأكد يدويًا بطريقة ما من عدم الكتابة فوق أداة تحميل التشغيل.لقد حاولت استخدام خيار --rom مثل هذا:
--rom=default,-0-4,-3f00-3fff
ما أريده هو:لا يوجد رمز في أول 4 كلمات من ذاكرة الكود، لأن هذا هو المكان الذي يتم فيه الانتقال إلى أداة تحميل التشغيل ولا يوجد رمز في آخر 128 كلمة من الذاكرة لأن هذا هو المكان الذي يوجد فيه أداة تحميل التشغيل الفعلية.--rom كما أستخدمه لا يفعل شيئًا.أنا أستخدم HI-TECH PICC STD COMPILER (Microchip PICmicro) V9.60PL3 والرقاقة هي pic16f876A.
المحلول
يمكنك أيضًا القيام بذلك باستخدام برنامج نصي رابط مخصص.عادة، يحتوي البرنامج النصي للرابط الخاص بك على هذه السطور لوضع متجهات إعادة التعيين أولاً والكود (في الصفحة المسماة "الصفحة") خلفها:
CODEPAGE NAME=vectors START=0x0 END=0x29 PROTECTED
CODEPAGE NAME=page START=0x2A END=0x7FFF
بالنسبة لمحمل الإقلاع المستخدم في لوحة FSDem الخاصة بـ Microchip (الذي يشغل النطاق 0x0-0x800، ويتوقع أن يكون لبرنامجك متجهاته الخاصة عند 0x800)، يتم استبدال هذا بالأسطر أدناه التي تمنع الرابط من استخدام أي شيء أقل من 0x800:
CODEPAGE NAME=boot START=0x0 END=0x7FF PROTECTED
CODEPAGE NAME=vectors START=0x800 END=0x0x829 PROTECTED
CODEPAGE NAME=page START=0x82A END=0x7FFF