ฉันกำลังใช้ MDK-Lite เวอร์ชั่น 5.23 กับบอร์ด STMicroelectronics STM32F072B- ดิสโก้ค้นพบและฉันพยายามใช้แฟลชตัวอย่างที่มีให้โดยตัวอย่าง Discovery
ฉันใช้บอร์ดนี้และ toolchain สำหรับตัวอย่างอื่นและฉันเขียนรหัส SPI และ GPIO IDE ทำงานเหมือนแชมป์ อย่างไรก็ตามสำหรับโครงการนี้โดยเฉพาะฉันสามารถสร้างรหัสและเรียกใช้โดยการดาวน์โหลดและใช้ปุ่มรีเซ็ต ฉันไม่สามารถใช้ตัวดีบักในโครงการทันทีที่ใช้รูทีน HAL_FLASHEx_Erase () เมื่อฉันเรียกใช้รูทีนนั้น IDE จะปรากฏกล่องโต้ตอบ "ไม่สามารถเข้าถึงเป้าหมายได้การปิดเซสชันดีบั๊ก"
สำหรับสิ่งที่คุ้มค่าฉันรู้ว่าไม่ใช่ข้อผิดพลาดในการเขียนโปรแกรมเพราะถ้าฉันดาวน์โหลดรหัสแล้วรันโค้ดโดยการกดปุ่มรีเซ็ตมันจะทำงาน ฉันใช้ดีบักเกอร์ตัวเดียวกันกับบอร์ด TI และมันก็สามารถตั้งโปรแกรมแฟลชและใช้งานรูทีนแฟลชได้เช่นกัน ฉันค่อนข้างแน่ใจว่าฉันไม่ได้ลบส่วนของแฟลชที่จัดเก็บรหัสไว้ดังนั้นจึงไม่ใช่แบบนั้น
หากฉันข้ามบรรทัดนี้ใน main.c
if (HAL_FLASHEx_Erase(&EraseInitStruct, &PageError) != HAL_OK)
จากนั้นจะลดเซสชันการดีบัก หากฉันแทนขั้นตอนในบรรทัดเดียวกันแล้วข้ามการโทรแต่ละครั้งในรูทีนการลบแฟลชจากนั้นจะทำงานและในที่สุดจะก้าวออกจากรูทีนและฉันสามารถดีบักรหัสที่เหลือ