|
29 | 29 | console = machine.Serial |
30 | 30 | readyLED = machine.LED |
31 | 31 |
|
32 | | - flashdev *flash.Device |
| 32 | + // flashdev *flash.Device |
| 33 | + blockdev tinyfs.BlockDevice |
33 | 34 | fs tinyfs.Filesystem |
34 | 35 |
|
35 | 36 | currdir = "/" |
@@ -61,10 +62,10 @@ const ( |
61 | 62 | StateCSI |
62 | 63 | ) |
63 | 64 |
|
64 | | -func RunFor(dev *flash.Device, filesys tinyfs.Filesystem) { |
| 65 | +func RunFor(dev tinyfs.BlockDevice, filesys tinyfs.Filesystem) { |
65 | 66 | time.Sleep(3 * time.Second) |
| 67 | + blockdev = dev |
66 | 68 |
|
67 | | - flashdev = dev |
68 | 69 | fs = filesys |
69 | 70 |
|
70 | 71 | readyLED.Configure(machine.PinConfig{Mode: machine.PinOutput}) |
@@ -175,6 +176,18 @@ func dbg(argv []string) { |
175 | 176 | } |
176 | 177 |
|
177 | 178 | func lsblk(argv []string) { |
| 179 | + if flashdev, ok := blockdev.(*flash.Device); ok { |
| 180 | + lsblk_flash(flashdev) |
| 181 | + return |
| 182 | + } |
| 183 | + if blockdev == machine.Flash { |
| 184 | + lsblk_machine() |
| 185 | + return |
| 186 | + } |
| 187 | + println("Unknown device") |
| 188 | +} |
| 189 | + |
| 190 | +func lsblk_flash(flashdev *flash.Device) { |
178 | 191 | attrs := flashdev.Attrs() |
179 | 192 | status1, _ := flashdev.ReadStatus() |
180 | 193 | status2, _ := flashdev.ReadStatus2() |
@@ -210,6 +223,19 @@ func lsblk(argv []string) { |
210 | 223 | ) |
211 | 224 | } |
212 | 225 |
|
| 226 | +func lsblk_machine() { |
| 227 | + fmt.Printf( |
| 228 | + "\n-------------------------------------\r\n"+ |
| 229 | + " Device Information: \r\n"+ |
| 230 | + "-------------------------------------\r\n"+ |
| 231 | + " flash data start: %08X\r\n"+ |
| 232 | + " flash data end: %08X\r\n"+ |
| 233 | + "-------------------------------------\r\n\r\n", |
| 234 | + machine.FlashDataStart(), |
| 235 | + machine.FlashDataEnd(), |
| 236 | + ) |
| 237 | +} |
| 238 | + |
213 | 239 | func mount(argv []string) { |
214 | 240 | if err := fs.Mount(); err != nil { |
215 | 241 | println("Could not mount LittleFS filesystem: " + err.Error() + "\r\n") |
@@ -524,7 +550,7 @@ func xxd(argv []string) { |
524 | 550 | buf := make([]byte, size) |
525 | 551 | //bsz := uint64(flash.SectorSize) |
526 | 552 | //blockdev.ReadBlock(uint32(addr/bsz), uint32(addr%bsz), buf) |
527 | | - flashdev.ReadAt(buf, int64(addr)) |
| 553 | + blockdev.ReadAt(buf, int64(addr)) |
528 | 554 | xxdfprint(os.Stdout, uint32(addr), buf) |
529 | 555 | } |
530 | 556 |
|
|
0 commit comments