Close

W25Q80DV Simulator - Exercise 3b

A project log for Jungle Vine Swing Robot

Controlling reeling in/out a rope

ekEK 12/10/2021 at 03:565 Comments

Breaking problems down into smaller bits really helps to make a solution. The process doesn’t have to be linear like what you see below. Often working on one sub-problem helps to give a better conceptual understanding of the whole, so jumping back and forth between sub-problems is natural (despite it not seeming that way).

Exercise 3b: Make a flash simulator

To figure out where to start, list out the super basic elements. There’s gonna be an array, and the minimum functionality is to read, write, and erase. 

Here’s the steps of breaking the problem down into sub-problems, and the sub-problems into further smaller sub-sub-problems. Below this list are my notes. Coding was only done at the very end. The majority of time was figuring out the problem, reading the documentation, and of course - learning!

Breakdown

Step 0: Getting background information

Step 1: Determining the buffer

Step 2: Determine the address

Step 3: Code the buffer

Step 4: Make erase function

Step 5: Make read function

Step 6: Make write function

Step 7: Make test flow

Step 8: Make tests to fail

Step 9: Code it

Notebook

Step 0

Step 1

Step 2 (Do not follow!!)

Step 3

Step 4

Step 5

Step 6

Step 7

Step 8

Step 9


Code

Here’s the code on Github


Time

10.75 hours figuring out & learning
3 hours coding
1 hour documenting

Discussions

tyler wrote 12/13/2021 at 23:10 point

+1 for the 0-indexed steps

  Are you sure? yes | no

EK wrote 12/13/2021 at 23:59 point

😅

  Are you sure? yes | no

secrethai000 wrote 12/12/2021 at 17:58 point

I am anew user how can i learn hacking

  Are you sure? yes | no

Paul Stoffregen wrote 12/11/2021 at 11:08 point

C7h/60h means you can send either byte.  If you've previous done the write enable command, and none of the sectors are write locked in the status register, sending either byte 0xC7 or 0x60 will cause the entire chip to erase.

  Are you sure? yes | no

EK wrote 12/11/2021 at 21:32 point

Hi Paul! Cool! That's good to know about the status register as well. (Oops)

  Are you sure? yes | no