ดูเหมือนจะไม่สามารถเขียนไปยังแฟลช spi


9

ฉันติดอยู่กับเรื่องนี้มาซักพักหนึ่งแล้วประมาณ 2-3 สัปดาห์ ฉันไม่แน่ใจว่าฉันทำอะไรผิด ฉันกำลังพยายามเขียนถึงส่วนแฟลช spiนี้และตอนนี้ฉันกำลังรันรูทีนเพื่อลบเขียนและอ่านเพื่อพยายามแยกมันออก แต่ก็ไม่มีโชค แน่นอนฉันได้แก้ไขข้อบกพร่องระหว่างทาง ...

อย่างไรก็ตามฉันมีสาย WP ของฉันผูกไว้บนกระดานและฉันลดความเร็วของนาฬิกาลงเหลือ 200khz จากนั้นฉันก็ใช้รูทีนการลบและดูเหมือนว่า:

ป้อนคำอธิบายรูปภาพที่นี่ ก่อนอื่นฉันจะตรวจสอบ ID เพียงแค่ตรวจแก้จุดบกพร่องนั่นคือคำสั่ง 9F จากนั้นฉันตั้งค่า WREN ด้วยคำสั่ง 06, C7 คือการลบชิปทั้งหมดจากนั้นฉันตรวจสอบบิตสถานะด้วย 05 และชัดเจน เวลาลบชิปของสิ่งนี้มีเพียง 35 มิลลิวินาที

ตอนนี้ฉันโหลดรหัสของฉันและลองเขียน:

ป้อนคำอธิบายรูปภาพที่นี่ ครั้งแรกที่ฉันตั้งค่า WREN กับ 06 ตรวจสอบสถานะเพื่อดูว่า WREN ถูกตั้งค่าเป็น 05 มันคือจากนั้นส่งคำสั่งโปรแกรมหน้า 02 ไปยังที่อยู่ 0x000000 คุณสามารถเห็นฉันเขียน deadcafe เป็นบิตแรก ๆ ยังไม่ได้วาดภาพที่นี่หลังจากเขียนเสร็จ (หนึ่งหน้าหรือ 256 ไบต์) ฉันส่งคำสั่ง 0x04 เพื่อปิดการใช้งาน WREN ฉันสังเกตว่าและฉันได้ตั้งค่าสี่ไบต์สุดท้ายของบัฟเฟอร์หน้าของฉันเป็น 0xAA, 0x55, 0xAA, 0x55 และฉันเห็นพวกเขาก่อน CS จะสูง

ตอนนี้หยุดโหลดรหัสซ้ำและลองเรียกใช้รอบการอ่าน: ป้อนคำอธิบายรูปภาพที่นี่ ส่ง 0x03 เป็นคำสั่ง read และ 0x000000 เป็นที่อยู่และ ... 0xFF ทั้งหมดกลับมาจากอุปกรณ์

ฉันสามารถเห็นอุปกรณ์ที่ตอบสนองต่อ ID การอ่านของฉันและตั้งค่าคำสั่ง WREN เพื่อให้ฉันรู้ว่ามันได้ยินฉันและสามารถตอบสนองได้ ฉันไม่รู้ว่าฉันทำอะไรผิดในตอนนี้ ฉันเดาว่าฉันจะกลับไปอ่านแผ่นข้อมูลและลองบางสิ่ง แต่ถ้าใครมีข้อมูลเชิงลึกฉันจะขอบคุณความช่วยเหลือ มันกำลังจะเป็นวันหยุดสุดสัปดาห์ที่น่าหงุดหงิดกับสิ่งนี้


10
และ ... ฉันคิดออก ถ้าฉันมีเงินดอลลาร์ทุกครั้งที่ฉันคิดอะไรบางอย่างออกมาในที่สุดก็หมดหวังที่จะโพสต์ที่อื่นเพื่อขอความช่วยเหลือ ปรากฎว่ามีคำสั่งอื่น 0x98 ที่เรียกว่า Global Unlock ซึ่งไม่ได้กล่าวถึงในส่วนของการเปิดใช้งานการเขียนหรือการเขียนโปรแกรม ... อย่างไรก็ตามการเพิ่มที่ข้างหน้าของคำสั่ง WREN ของฉันและมันทำงาน ขอโทษสำหรับความรำคาญ
สับสน

10
เพิ่มความคิดเห็นของคุณเป็นคำตอบและยอมรับมัน
geometrikal

ยอมรับกับ @geometrikal ว่าคุณควรตอบคำถามของคุณเอง ฉันไม่มีอะไรนอกจากมีปัญหากับอินเตอร์เฟส PIC SPI; ด้วยเหตุผลเดียวกัน: เอกสารประกอบ
1

2
Hi! คุณโพสต์คำถามที่ดีเกี่ยวกับปีที่แล้วและโพสต์คำตอบที่ดีในความคิดเห็น แต่คำถามก็ยังปรากฏที่ด้านบนของรายการ "ยังไม่ได้ตอบ"! โปรดคัดลอกความคิดเห็นของคุณเป็นคำตอบและทำเครื่องหมายว่า "ยอมรับ" วิธีนี้มันจะได้รับการจัดการอย่างถูกต้องและเราสามารถ
โหวต

1
@confused โปรดโพสต์คำตอบของคุณและทำเครื่องหมายว่าเป็นคำตอบเพื่อให้เราสามารถปิดคำถามขอบคุณ
แรงดันไฟฟ้าเข็ม

คำตอบ:


3

ฉันแค่เกลียดว่านี่ยังคงอยู่ในอันดับต้น ๆ ของรายการที่ยังไม่ได้ตอบดังนั้นฉันจะตอบ

ตามที่ระบุไว้ในความคิดเห็นโดย 'สับสน' มีคำสั่งที่เรียกว่า 'ปลดล็อกทั่วโลก' ที่จะต้องดำเนินการก่อนที่จะเขียนไปยังส่วนแฟลช


1
คุณควรยอมรับคำตอบของคุณมิฉะนั้นคำถามนี้จะยังคงถูกทำเครื่องหมายว่า "ไม่ได้รับคำตอบ"
Étienne
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.