Keil uVision MDK-Lite, STM32F072B- บอร์ด Discovery และแฟลช API
ฉันกำลังใช้ 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) จากนั้นจะลดเซสชันการดีบัก หากฉันแทนขั้นตอนในบรรทัดเดียวกันแล้วข้ามการโทรแต่ละครั้งในรูทีนการลบแฟลชจากนั้นจะทำงานและในที่สุดจะก้าวออกจากรูทีนและฉันสามารถดีบักรหัสที่เหลือ