@@ -41,13 +41,13 @@ static SingletonPtr<PlatformMutex> _mutex;
41
41
// Mutex is protecting rand() per srand for buffer writing and verification.
42
42
// Mutex is also protecting printouts for clear logs.
43
43
// Mutex is NOT protecting Block Device actions: erase/program/read - which is the purpose of the multithreaded test!
44
- void basic_erase_program_read_test (SPIFBlockDevice& blockD , bd_size_t block_size, uint8_t *write_block,
44
+ void basic_erase_program_read_test (SPIFBlockDevice& block_device , bd_size_t block_size, uint8_t *write_block,
45
45
uint8_t *read_block, unsigned addrwidth)
46
46
{
47
47
int err = 0 ;
48
48
_mutex->lock ();
49
49
// Find a random block
50
- bd_addr_t block = (rand () * block_size) % blockD .size ();
50
+ bd_addr_t block = (rand () * block_size) % block_device .size ();
51
51
52
52
// Use next random number as temporary seed to keep
53
53
// the address progressing in the pseudorandom sequence
@@ -62,13 +62,13 @@ void basic_erase_program_read_test(SPIFBlockDevice& blockD, bd_size_t block_size
62
62
utest_printf (" \n test %0*llx:%llu..." , addrwidth, block, block_size);
63
63
_mutex->unlock ();
64
64
65
- err = blockD .erase (block, block_size);
65
+ err = block_device .erase (block, block_size);
66
66
TEST_ASSERT_EQUAL (0 , err);
67
67
68
- err = blockD .program (write_block, block, block_size);
68
+ err = block_device .program (write_block, block, block_size);
69
69
TEST_ASSERT_EQUAL (0 , err);
70
70
71
- err = blockD .read (read_block, block, block_size);
71
+ err = block_device .read (read_block, block, block_size);
72
72
TEST_ASSERT_EQUAL (0 , err);
73
73
74
74
_mutex->lock ();
@@ -91,16 +91,17 @@ void test_spif_random_program_read_erase()
91
91
{
92
92
utest_printf (" \n Test Random Program Read Erase Starts..\n " );
93
93
94
- SPIFBlockDevice blockD (MBED_CONF_SPIF_DRIVER_SPI_MOSI, MBED_CONF_SPIF_DRIVER_SPI_MISO, MBED_CONF_SPIF_DRIVER_SPI_CLK,
95
- MBED_CONF_SPIF_DRIVER_SPI_CS);
94
+ SPIFBlockDevice block_device (MBED_CONF_SPIF_DRIVER_SPI_MOSI, MBED_CONF_SPIF_DRIVER_SPI_MISO,
95
+ MBED_CONF_SPIF_DRIVER_SPI_CLK,
96
+ MBED_CONF_SPIF_DRIVER_SPI_CS);
96
97
97
- int err = blockD .init ();
98
+ int err = block_device .init ();
98
99
TEST_ASSERT_EQUAL (0 , err);
99
100
100
101
for (unsigned atr = 0 ; atr < sizeof (ATTRS) / sizeof (ATTRS[0 ]); atr++) {
101
102
static const char *prefixes[] = {" " , " k" , " M" , " G" };
102
103
for (int i_ind = 3 ; i_ind >= 0 ; i_ind--) {
103
- bd_size_t size = (blockD .*ATTRS[atr].method )();
104
+ bd_size_t size = (block_device .*ATTRS[atr].method )();
104
105
if (size >= (1ULL << 10 * i_ind)) {
105
106
utest_printf (" %s: %llu%sbytes (%llubytes)\n " ,
106
107
ATTRS[atr].name , size >> 10 * i_ind, prefixes[i_ind], size);
@@ -109,8 +110,8 @@ void test_spif_random_program_read_erase()
109
110
}
110
111
}
111
112
112
- bd_size_t block_size = blockD .get_erase_size ();
113
- unsigned addrwidth = ceil (log (float (blockD .size () - 1 )) / log (float (16 ))) + 1 ;
113
+ bd_size_t block_size = block_device .get_erase_size ();
114
+ unsigned addrwidth = ceil (log (float (block_device .size () - 1 )) / log (float (16 ))) + 1 ;
114
115
115
116
uint8_t *write_block = new (std::nothrow) uint8_t [block_size];
116
117
uint8_t *read_block = new (std::nothrow) uint8_t [block_size];
@@ -120,10 +121,10 @@ void test_spif_random_program_read_erase()
120
121
}
121
122
122
123
for (int b = 0 ; b < TEST_BLOCK_COUNT; b++) {
123
- basic_erase_program_read_test (blockD , block_size, write_block, read_block, addrwidth);
124
+ basic_erase_program_read_test (block_device , block_size, write_block, read_block, addrwidth);
124
125
}
125
126
126
- err = blockD .deinit ();
127
+ err = block_device .deinit ();
127
128
TEST_ASSERT_EQUAL (0 , err);
128
129
129
130
end:
@@ -135,16 +136,17 @@ void test_spif_unaligned_erase()
135
136
{
136
137
utest_printf (" \n Test Unaligned Erase Starts..\n " );
137
138
138
- SPIFBlockDevice blockD (MBED_CONF_SPIF_DRIVER_SPI_MOSI, MBED_CONF_SPIF_DRIVER_SPI_MISO, MBED_CONF_SPIF_DRIVER_SPI_CLK,
139
- MBED_CONF_SPIF_DRIVER_SPI_CS);
139
+ SPIFBlockDevice block_device (MBED_CONF_SPIF_DRIVER_SPI_MOSI, MBED_CONF_SPIF_DRIVER_SPI_MISO,
140
+ MBED_CONF_SPIF_DRIVER_SPI_CLK,
141
+ MBED_CONF_SPIF_DRIVER_SPI_CS);
140
142
141
- int err = blockD .init ();
143
+ int err = block_device .init ();
142
144
TEST_ASSERT_EQUAL (0 , err);
143
145
144
146
for (unsigned atr = 0 ; atr < sizeof (ATTRS) / sizeof (ATTRS[0 ]); atr++) {
145
147
static const char *prefixes[] = {" " , " k" , " M" , " G" };
146
148
for (int i_ind = 3 ; i_ind >= 0 ; i_ind--) {
147
- bd_size_t size = (blockD .*ATTRS[atr].method )();
149
+ bd_size_t size = (block_device .*ATTRS[atr].method )();
148
150
if (size >= (1ULL << 10 * i_ind)) {
149
151
utest_printf (" %s: %llu%sbytes (%llubytes)\n " ,
150
152
ATTRS[atr].name , size >> 10 * i_ind, prefixes[i_ind], size);
@@ -154,52 +156,52 @@ void test_spif_unaligned_erase()
154
156
}
155
157
156
158
bd_addr_t addr = 0 ;
157
- bd_size_t sector_erase_size = blockD .get_erase_size (addr);
158
- unsigned addrwidth = ceil (log (float (blockD .size () - 1 )) / log (float (16 ))) + 1 ;
159
+ bd_size_t sector_erase_size = block_device .get_erase_size (addr);
160
+ unsigned addrwidth = ceil (log (float (block_device .size () - 1 )) / log (float (16 ))) + 1 ;
159
161
160
162
utest_printf (" \n test %0*llx:%llu..." , addrwidth, addr, sector_erase_size);
161
163
162
164
// unaligned start address
163
165
addr += 1 ;
164
- err = blockD .erase (addr, sector_erase_size - 1 );
166
+ err = block_device .erase (addr, sector_erase_size - 1 );
165
167
TEST_ASSERT_EQUAL (SPIF_BD_ERROR_INVALID_ERASE_PARAMS, err);
166
168
167
- err = blockD .erase (addr, sector_erase_size);
169
+ err = block_device .erase (addr, sector_erase_size);
168
170
TEST_ASSERT_EQUAL (SPIF_BD_ERROR_INVALID_ERASE_PARAMS, err);
169
171
170
- err = blockD .erase (addr, 1 );
172
+ err = block_device .erase (addr, 1 );
171
173
TEST_ASSERT_EQUAL (SPIF_BD_ERROR_INVALID_ERASE_PARAMS, err);
172
174
173
175
// unaligned end address
174
176
addr = 0 ;
175
177
176
- err = blockD .erase (addr, 1 );
178
+ err = block_device .erase (addr, 1 );
177
179
TEST_ASSERT_EQUAL (SPIF_BD_ERROR_INVALID_ERASE_PARAMS, err);
178
180
179
- err = blockD .erase (addr, sector_erase_size + 1 );
181
+ err = block_device .erase (addr, sector_erase_size + 1 );
180
182
TEST_ASSERT_EQUAL (SPIF_BD_ERROR_INVALID_ERASE_PARAMS, err);
181
183
182
184
// erase size exceeds flash device size
183
- err = blockD .erase (addr, blockD .size () + 1 );
185
+ err = block_device .erase (addr, block_device .size () + 1 );
184
186
TEST_ASSERT_EQUAL (SPIF_BD_ERROR_INVALID_ERASE_PARAMS, err);
185
187
186
188
// Valid erase
187
- err = blockD .erase (addr, sector_erase_size);
189
+ err = block_device .erase (addr, sector_erase_size);
188
190
TEST_ASSERT_EQUAL (SPIF_BD_ERROR_OK, err);
189
191
190
- err = blockD .deinit ();
192
+ err = block_device .deinit ();
191
193
TEST_ASSERT_EQUAL (0 , err);
192
194
}
193
195
194
- static void test_spif_thread_job (void *vBlockD /* , int thread_num*/ )
196
+ static void test_spif_thread_job (void *block_device_ptr /* , int thread_num*/ )
195
197
{
196
198
static int thread_num = 0 ;
197
199
thread_num++;
198
- SPIFBlockDevice *blockD = (SPIFBlockDevice *)vBlockD ;
200
+ SPIFBlockDevice *block_device = (SPIFBlockDevice *)block_device_ptr ;
199
201
utest_printf (" \n Thread %d Started \n " , thread_num);
200
202
201
- bd_size_t block_size = blockD ->get_erase_size ();
202
- unsigned addrwidth = ceil (log (float (blockD ->size () - 1 )) / log (float (16 ))) + 1 ;
203
+ bd_size_t block_size = block_device ->get_erase_size ();
204
+ unsigned addrwidth = ceil (log (float (block_device ->size () - 1 )) / log (float (16 ))) + 1 ;
203
205
204
206
uint8_t *write_block = new (std::nothrow) uint8_t [block_size];
205
207
uint8_t *read_block = new (std::nothrow) uint8_t [block_size];
@@ -209,7 +211,7 @@ static void test_spif_thread_job(void *vBlockD/*, int thread_num*/)
209
211
}
210
212
211
213
for (int b = 0 ; b < TEST_BLOCK_COUNT; b++) {
212
- basic_erase_program_read_test ((*blockD ), block_size, write_block, read_block, addrwidth);
214
+ basic_erase_program_read_test ((*block_device ), block_size, write_block, read_block, addrwidth);
213
215
}
214
216
215
217
end:
@@ -221,16 +223,17 @@ void test_spif_multi_threads()
221
223
{
222
224
utest_printf (" \n Test Multi Threaded Erase/Program/Read Starts..\n " );
223
225
224
- SPIFBlockDevice blockD (MBED_CONF_SPIF_DRIVER_SPI_MOSI, MBED_CONF_SPIF_DRIVER_SPI_MISO, MBED_CONF_SPIF_DRIVER_SPI_CLK,
225
- MBED_CONF_SPIF_DRIVER_SPI_CS);
226
+ SPIFBlockDevice block_device (MBED_CONF_SPIF_DRIVER_SPI_MOSI, MBED_CONF_SPIF_DRIVER_SPI_MISO,
227
+ MBED_CONF_SPIF_DRIVER_SPI_CLK,
228
+ MBED_CONF_SPIF_DRIVER_SPI_CS);
226
229
227
- int err = blockD .init ();
230
+ int err = block_device .init ();
228
231
TEST_ASSERT_EQUAL (0 , err);
229
232
230
233
for (unsigned atr = 0 ; atr < sizeof (ATTRS) / sizeof (ATTRS[0 ]); atr++) {
231
234
static const char *prefixes[] = {" " , " k" , " M" , " G" };
232
235
for (int i_ind = 3 ; i_ind >= 0 ; i_ind--) {
233
- bd_size_t size = (blockD .*ATTRS[atr].method )();
236
+ bd_size_t size = (block_device .*ATTRS[atr].method )();
234
237
if (size >= (1ULL << 10 * i_ind)) {
235
238
utest_printf (" %s: %llu%sbytes (%llubytes)\n " ,
236
239
ATTRS[atr].name , size >> 10 * i_ind, prefixes[i_ind], size);
@@ -245,7 +248,7 @@ void test_spif_multi_threads()
245
248
int i_ind;
246
249
247
250
for (i_ind = 0 ; i_ind < SPIF_TEST_NUM_OF_THREADS; i_ind++) {
248
- threadStatus = spif_bd_thread[i_ind].start (test_spif_thread_job, (void *)&blockD );
251
+ threadStatus = spif_bd_thread[i_ind].start (test_spif_thread_job, (void *)&block_device );
249
252
if (threadStatus != 0 ) {
250
253
utest_printf (" \n Thread %d Start Failed!" , i_ind + 1 );
251
254
}
@@ -255,7 +258,7 @@ void test_spif_multi_threads()
255
258
spif_bd_thread[i_ind].join ();
256
259
}
257
260
258
- err = blockD .deinit ();
261
+ err = block_device .deinit ();
259
262
TEST_ASSERT_EQUAL (0 , err);
260
263
}
261
264
0 commit comments