Hello program for the FM25W256 library
Diff: main.cpp
- Revision:
- 2:980e3d46d20e
- Parent:
- 1:be908b1aafe6
- Child:
- 3:d4a2357f06e3
diff -r be908b1aafe6 -r 980e3d46d20e main.cpp
--- a/main.cpp Fri Mar 04 15:50:11 2016 +0000
+++ b/main.cpp Sat Mar 05 14:06:46 2016 +0000
@@ -1,3 +1,28 @@
+/* Cypress FM25W256 F-RAM component library test program
+ *
+ * Copyright (c) 2016 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * *
+ * @author Toyomasa Watarai
+ * @version 1.0
+ * @date 5-March-2016
+ *
+ * http://www.cypress.com/products/nonvolatile-ram
+ * http://www.cypress.com/documentation/datasheets/fm25w256-256-kbit-32-k-8-serial-spi-f-ram?source=search&keywords=FM25W256&cat=technical_documents
+ *
+ */
+
#include "mbed.h"
#include "FM25W256.h"
@@ -25,6 +50,26 @@
f_ram.write(0, buf, 16);
}
+void write_protect_test()
+{
+ f_ram.set_write_protect(FM25W256::BANK_ALL);
+
+ pc.printf("[write data]\n");
+ pc.printf("0x0000 : ");
+ uint8_t buf[16];
+ for(int i=0; i<16; i++) {
+ buf[i] = i;
+ pc.printf("%02X ", buf[i]);
+ }
+ pc.printf("\n");
+ f_ram.write(0, buf, 16);
+
+ pc.printf("[read data]\n");
+ read_test();
+
+ f_ram.clear_write_protect();
+}
+
int main()
{
pc.printf("\nFM25W256 test program - write test? (y/n) ");
@@ -37,6 +82,12 @@
pc.printf("\n");
read_test();
}
+
+ pc.printf("\nFM25W256 test program - write protect test? (y/n) ");
+ if (pc.getc() == 'y') {
+ pc.printf("\n");
+ write_protect_test();
+ }
while(1) {
}
Toyomasa Watarai
Cypress FM25W256 256Kb Wide Voltage SPI F-RAM