HC32L17x的LL驱动库之FLASH

#ifndef HC32L1XX_LL_FLASH_H_
#define HC32L1XX_LL_FLASH_H_

#ifdef __cplusplus
extern "C" {
#endif 
	
	#include "hc32l1xx.h"
	#include "hc32l1xx_ll_rcc.h"
	#include "hc32l1xx_ll_system.h"
	///
	//===扇区分组
	#define LL_FLASH_SECTOR_0					0
	#define LL_FLASH_SECTOR_1					1
	#define LL_FLASH_SECTOR_2					2
	#define LL_FLASH_SECTOR_3					3
	#define LL_FLASH_SECTOR_4					4
	#define LL_FLASH_SECTOR_5					5
	#define LL_FLASH_SECTOR_6					6
	#define LL_FLASH_SECTOR_7					7
	#define LL_FLASH_SECTOR_8					8
	#define LL_FLASH_SECTOR_9					9
	#define LL_FLASH_SECTOR_10					10
	#define LL_FLASH_SECTOR_11					11
	#define LL_FLASH_SECTOR_12					12
	#define LL_FLASH_SECTOR_13					13
	#define LL_FLASH_SECTOR_14					14
	#define LL_FLASH_SECTOR_15					15
	#define LL_FLASH_SECTOR_16					16
	#define LL_FLASH_SECTOR_17					17
	#define LL_FLASH_SECTOR_18					18
	#define LL_FLASH_SECTOR_19					19
	#define LL_FLASH_SECTOR_20					20
	#define LL_FLASH_SECTOR_21					21
	#define LL_FLASH_SECTOR_22					22
	#define LL_FLASH_SECTOR_23					23
	#define LL_FLASH_SECTOR_24					24
	#define LL_FLASH_SECTOR_25					25
	#define LL_FLASH_SECTOR_26					26
	#define LL_FLASH_SECTOR_27					27
	#define LL_FLASH_SECTOR_28					28
	#define LL_FLASH_SECTOR_29					29
	#define LL_FLASH_SECTOR_30					30
	#define LL_FLASH_SECTOR_31					31
	#define LL_FLASH_SECTOR_32					32
	#define LL_FLASH_SECTOR_33					33
	#define LL_FLASH_SECTOR_34					34
	#define LL_FLASH_SECTOR_35					35
	#define LL_FLASH_SECTOR_36					36
	#define LL_FLASH_SECTOR_37					37
	#define LL_FLASH_SECTOR_38					38
	#define LL_FLASH_SECTOR_39					39
	#define LL_FLASH_SECTOR_40					40
	#define LL_FLASH_SECTOR_41					41
	#define LL_FLASH_SECTOR_42					42
	#define LL_FLASH_SECTOR_43					43
	#define LL_FLASH_SECTOR_44					44
	#define LL_FLASH_SECTOR_45					45
	#define LL_FLASH_SECTOR_46					46
	#define LL_FLASH_SECTOR_47					47
	#define LL_FLASH_SECTOR_48					48
	#define LL_FLASH_SECTOR_49					49
	#define LL_FLASH_SECTOR_50					50
	#define LL_FLASH_SECTOR_51					51
	#define LL_FLASH_SECTOR_52					52
	#define LL_FLASH_SECTOR_53					53
	#define LL_FLASH_SECTOR_54					54
	#define LL_FLASH_SECTOR_55					55
	#define LL_FLASH_SECTOR_56					56
	#define LL_FLASH_SECTOR_57					57
	#define LL_FLASH_SECTOR_58					58
	#define LL_FLASH_SECTOR_59					59
	#define LL_FLASH_SECTOR_60					60
	#define LL_FLASH_SECTOR_61					61
	#define LL_FLASH_SECTOR_62					62
	#define LL_FLASH_SECTOR_63					63
	#define LL_FLASH_SECTOR_64					64
	#define LL_FLASH_SECTOR_65					65
	#define LL_FLASH_SECTOR_66					66
	#define LL_FLASH_SECTOR_67					67
	#define LL_FLASH_SECTOR_68					68
	#define LL_FLASH_SECTOR_69					69
	#define LL_FLASH_SECTOR_70					70
	#define LL_FLASH_SECTOR_71					71
	#define LL_FLASH_SECTOR_72					72
	#define LL_FLASH_SECTOR_73					73
	#define LL_FLASH_SECTOR_74					74
	#define LL_FLASH_SECTOR_75					75
	#define LL_FLASH_SECTOR_76					76
	#define LL_FLASH_SECTOR_77					77
	#define LL_FLASH_SECTOR_78					78
	#define LL_FLASH_SECTOR_79					79
	#define LL_FLASH_SECTOR_80					80
	#define LL_FLASH_SECTOR_81					81
	#define LL_FLASH_SECTOR_82					82
	#define LL_FLASH_SECTOR_83					83
	#define LL_FLASH_SECTOR_84					84
	#define LL_FLASH_SECTOR_85					85
	#define LL_FLASH_SECTOR_86					86
	#define LL_FLASH_SECTOR_87					87
	#define LL_FLASH_SECTOR_88					88
	#define LL_FLASH_SECTOR_89					89
	#define LL_FLASH_SECTOR_90					90
	#define LL_FLASH_SECTOR_91					91
	#define LL_FLASH_SECTOR_92					92
	#define LL_FLASH_SECTOR_93					93
	#define LL_FLASH_SECTOR_94					94
	#define LL_FLASH_SECTOR_95					95
	#define LL_FLASH_SECTOR_96					96
	#define LL_FLASH_SECTOR_97					97
	#define LL_FLASH_SECTOR_98					98
	#define LL_FLASH_SECTOR_99					99
	#define LL_FLASH_SECTOR_100					100
	#define LL_FLASH_SECTOR_101					101
	#define LL_FLASH_SECTOR_102					102
	#define LL_FLASH_SECTOR_103					103
	#define LL_FLASH_SECTOR_104					104
	#define LL_FLASH_SECTOR_105					105
	#define LL_FLASH_SECTOR_106					106
	#define LL_FLASH_SECTOR_107					107
	#define LL_FLASH_SECTOR_108					108
	#define LL_FLASH_SECTOR_109					109
	#define LL_FLASH_SECTOR_110					110
	#define LL_FLASH_SECTOR_111					111
	#define LL_FLASH_SECTOR_112					112
	#define LL_FLASH_SECTOR_113					113
	#define LL_FLASH_SECTOR_114					114
	#define LL_FLASH_SECTOR_115					115
	#define LL_FLASH_SECTOR_116					116
	#define LL_FLASH_SECTOR_117					117
	#define LL_FLASH_SECTOR_118					118
	#define LL_FLASH_SECTOR_119					119
	#define LL_FLASH_SECTOR_120					120
	#define LL_FLASH_SECTOR_121					121
	#define LL_FLASH_SECTOR_122					122
	#define LL_FLASH_SECTOR_123					123
	#define LL_FLASH_SECTOR_124					124
	#define LL_FLASH_SECTOR_125					125
	#define LL_FLASH_SECTOR_126					126
	#define LL_FLASH_SECTOR_127					127
	#define LL_FLASH_SECTOR_128					128
	#define LL_FLASH_SECTOR_129					129
	#define LL_FLASH_SECTOR_130					130
	#define LL_FLASH_SECTOR_131					131
	#define LL_FLASH_SECTOR_132					132
	#define LL_FLASH_SECTOR_133					133
	#define LL_FLASH_SECTOR_134					134
	#define LL_FLASH_SECTOR_135					135
	#define LL_FLASH_SECTOR_136					136
	#define LL_FLASH_SECTOR_137					137
	#define LL_FLASH_SECTOR_138					138
	#define LL_FLASH_SECTOR_139					139
	#define LL_FLASH_SECTOR_140					140
	#define LL_FLASH_SECTOR_141					141
	#define LL_FLASH_SECTOR_142					142
	#define LL_FLASH_SECTOR_143					143
	#define LL_FLASH_SECTOR_144					144
	#define LL_FLASH_SECTOR_145					145
	#define LL_FLASH_SECTOR_146					146
	#define LL_FLASH_SECTOR_147					147
	#define LL_FLASH_SECTOR_148					148
	#define LL_FLASH_SECTOR_149					149
	#define LL_FLASH_SECTOR_150					150
	#define LL_FLASH_SECTOR_151					151
	#define LL_FLASH_SECTOR_152					152
	#define LL_FLASH_SECTOR_153					153
	#define LL_FLASH_SECTOR_154					154
	#define LL_FLASH_SECTOR_155					155
	#define LL_FLASH_SECTOR_156					156
	#define LL_FLASH_SECTOR_157					157
	#define LL_FLASH_SECTOR_158					158
	#define LL_FLASH_SECTOR_159					159
	#define LL_FLASH_SECTOR_160					160
	#define LL_FLASH_SECTOR_161					161
	#define LL_FLASH_SECTOR_162					162
	#define LL_FLASH_SECTOR_163					163
	#define LL_FLASH_SECTOR_164					164
	#define LL_FLASH_SECTOR_165					165
	#define LL_FLASH_SECTOR_166					166
	#define LL_FLASH_SECTOR_167					167
	#define LL_FLASH_SECTOR_168					168
	#define LL_FLASH_SECTOR_169					169
	#define LL_FLASH_SECTOR_170					170
	#define LL_FLASH_SECTOR_171					171
	#define LL_FLASH_SECTOR_172					172
	#define LL_FLASH_SECTOR_173					173
	#define LL_FLASH_SECTOR_174					174
	#define LL_FLASH_SECTOR_175					175
	#define LL_FLASH_SECTOR_176					176
	#define LL_FLASH_SECTOR_177					177
	#define LL_FLASH_SECTOR_178					178
	#define LL_FLASH_SECTOR_179					179
	#define LL_FLASH_SECTOR_180					180
	#define LL_FLASH_SECTOR_181					181
	#define LL_FLASH_SECTOR_182					182
	#define LL_FLASH_SECTOR_183					183
	#define LL_FLASH_SECTOR_184					184
	#define LL_FLASH_SECTOR_185					185
	#define LL_FLASH_SECTOR_186					186
	#define LL_FLASH_SECTOR_187					187
	#define LL_FLASH_SECTOR_188					188
	#define LL_FLASH_SECTOR_189					189
	#define LL_FLASH_SECTOR_190					190
	#define LL_FLASH_SECTOR_191					191
	#define LL_FLASH_SECTOR_192					192
	#define LL_FLASH_SECTOR_193					193
	#define LL_FLASH_SECTOR_194					194
	#define LL_FLASH_SECTOR_195					195
	#define LL_FLASH_SECTOR_196					196
	#define LL_FLASH_SECTOR_197					197
	#define LL_FLASH_SECTOR_198					198
	#define LL_FLASH_SECTOR_199					199
	#define LL_FLASH_SECTOR_200					200
	#define LL_FLASH_SECTOR_201					201
	#define LL_FLASH_SECTOR_202					202
	#define LL_FLASH_SECTOR_203					203
	#define LL_FLASH_SECTOR_204					204
	#define LL_FLASH_SECTOR_205					205
	#define LL_FLASH_SECTOR_206					206
	#define LL_FLASH_SECTOR_207					207
	#define LL_FLASH_SECTOR_208					208
	#define LL_FLASH_SECTOR_209					209
	#define LL_FLASH_SECTOR_210					210
	#define LL_FLASH_SECTOR_211					211
	#define LL_FLASH_SECTOR_212					212
	#define LL_FLASH_SECTOR_213					213
	#define LL_FLASH_SECTOR_214					214
	#define LL_FLASH_SECTOR_215					215
	#define LL_FLASH_SECTOR_216					216
	#define LL_FLASH_SECTOR_217					217
	#define LL_FLASH_SECTOR_218					218
	#define LL_FLASH_SECTOR_219					219
	#define LL_FLASH_SECTOR_220					220
	#define LL_FLASH_SECTOR_221					221
	#define LL_FLASH_SECTOR_222					222
	#define LL_FLASH_SECTOR_223					223
	#define LL_FLASH_SECTOR_224					224
	#define LL_FLASH_SECTOR_225					225
	#define LL_FLASH_SECTOR_226					226
	#define LL_FLASH_SECTOR_227					227
	#define LL_FLASH_SECTOR_228					228
	#define LL_FLASH_SECTOR_229					229
	#define LL_FLASH_SECTOR_230					230
	#define LL_FLASH_SECTOR_231					231
	#define LL_FLASH_SECTOR_232					232
	#define LL_FLASH_SECTOR_233					233
	#define LL_FLASH_SECTOR_234					234
	#define LL_FLASH_SECTOR_235					235
	#define LL_FLASH_SECTOR_236					236
	#define LL_FLASH_SECTOR_237					237
	#define LL_FLASH_SECTOR_238					238
	#define LL_FLASH_SECTOR_239					239
	#define LL_FLASH_SECTOR_240					240
	#define LL_FLASH_SECTOR_241					241
	#define LL_FLASH_SECTOR_242					242
	#define LL_FLASH_SECTOR_243					243
	#define LL_FLASH_SECTOR_244					244
	#define LL_FLASH_SECTOR_245					245
	#define LL_FLASH_SECTOR_246					246
	#define LL_FLASH_SECTOR_247					247
	#define LL_FLASH_SECTOR_248					248
	#define LL_FLASH_SECTOR_249					249
	#define LL_FLASH_SECTOR_250					250
	#define LL_FLASH_SECTOR_251					251
	#define LL_FLASH_SECTOR_252					252
	#define LL_FLASH_SECTOR_253					253
	#define LL_FLASH_SECTOR_254					254
	#define LL_FLASH_SECTOR_255					255
	#define LL_FLASH_SECTOR_256					256
	#define LL_FLASH_SECTOR_257					257
	#define LL_FLASH_SECTOR_258					258
	#define LL_FLASH_SECTOR_259					259
	#define LL_FLASH_SECTOR_260					260
	#define LL_FLASH_SECTOR_261					261
	#define LL_FLASH_SECTOR_262					262
	#define LL_FLASH_SECTOR_263					263
	#define LL_FLASH_SECTOR_264					264
	#define LL_FLASH_SECTOR_265					265
	#define LL_FLASH_SECTOR_266					266
	#define LL_FLASH_SECTOR_267					267
	#define LL_FLASH_SECTOR_268					268
	#define LL_FLASH_SECTOR_269					269
	#define LL_FLASH_SECTOR_270					270
	#define LL_FLASH_SECTOR_271					271
	#define LL_FLASH_SECTOR_272					272
	#define LL_FLASH_SECTOR_273					273
	#define LL_FLASH_SECTOR_274					274
	#define LL_FLASH_SECTOR_275					275
	#define LL_FLASH_SECTOR_276					276
	#define LL_FLASH_SECTOR_277					277
	#define LL_FLASH_SECTOR_278					278
	#define LL_FLASH_SECTOR_279					279
	#define LL_FLASH_SECTOR_280					280
	#define LL_FLASH_SECTOR_281					281
	#define LL_FLASH_SECTOR_282					282
	#define LL_FLASH_SECTOR_283					283
	#define LL_FLASH_SECTOR_284					284
	#define LL_FLASH_SECTOR_285					285
	#define LL_FLASH_SECTOR_286					286
	#define LL_FLASH_SECTOR_287					287
	#define LL_FLASH_SECTOR_288					288
	#define LL_FLASH_SECTOR_289					289
	#define LL_FLASH_SECTOR_290					290
	#define LL_FLASH_SECTOR_291					291
	#define LL_FLASH_SECTOR_292					292
	#define LL_FLASH_SECTOR_293					293
	#define LL_FLASH_SECTOR_294					294
	#define LL_FLASH_SECTOR_295					295
	#define LL_FLASH_SECTOR_296					296
	#define LL_FLASH_SECTOR_297					297
	#define LL_FLASH_SECTOR_298					298
	#define LL_FLASH_SECTOR_299					299
	#define LL_FLASH_SECTOR_300					300
	#define LL_FLASH_SECTOR_301					301
	#define LL_FLASH_SECTOR_302					302
	#define LL_FLASH_SECTOR_303					303
	#define LL_FLASH_SECTOR_304					304
	#define LL_FLASH_SECTOR_305					305
	#define LL_FLASH_SECTOR_306					306
	#define LL_FLASH_SECTOR_307					307
	#define LL_FLASH_SECTOR_308					308
	#define LL_FLASH_SECTOR_309					309
	#define LL_FLASH_SECTOR_310					310
	#define LL_FLASH_SECTOR_311					311
	#define LL_FLASH_SECTOR_312					312
	#define LL_FLASH_SECTOR_313					313
	#define LL_FLASH_SECTOR_314					314
	#define LL_FLASH_SECTOR_315					315
	#define LL_FLASH_SECTOR_316					316
	#define LL_FLASH_SECTOR_317					317
	#define LL_FLASH_SECTOR_318					318
	#define LL_FLASH_SECTOR_319					319
	#define LL_FLASH_SECTOR_320					320
	#define LL_FLASH_SECTOR_321					321
	#define LL_FLASH_SECTOR_322					322
	#define LL_FLASH_SECTOR_323					323
	#define LL_FLASH_SECTOR_324					324
	#define LL_FLASH_SECTOR_325					325
	#define LL_FLASH_SECTOR_326					326
	#define LL_FLASH_SECTOR_327					327
	#define LL_FLASH_SECTOR_328					328
	#define LL_FLASH_SECTOR_329					329
	#define LL_FLASH_SECTOR_330					330
	#define LL_FLASH_SECTOR_331					331
	#define LL_FLASH_SECTOR_332					332
	#define LL_FLASH_SECTOR_333					333
	#define LL_FLASH_SECTOR_334					334
	#define LL_FLASH_SECTOR_335					335
	#define LL_FLASH_SECTOR_336					336
	#define LL_FLASH_SECTOR_337					337
	#define LL_FLASH_SECTOR_338					338
	#define LL_FLASH_SECTOR_339					339
	#define LL_FLASH_SECTOR_340					340
	#define LL_FLASH_SECTOR_341					341
	#define LL_FLASH_SECTOR_342					342
	#define LL_FLASH_SECTOR_343					343
	#define LL_FLASH_SECTOR_344					344
	#define LL_FLASH_SECTOR_345					345
	#define LL_FLASH_SECTOR_346					346
	#define LL_FLASH_SECTOR_347					347
	#define LL_FLASH_SECTOR_348					348
	#define LL_FLASH_SECTOR_349					349
	#define LL_FLASH_SECTOR_350					350
	#define LL_FLASH_SECTOR_351					351
	#define LL_FLASH_SECTOR_352					352
	#define LL_FLASH_SECTOR_353					353
	#define LL_FLASH_SECTOR_354					354
	#define LL_FLASH_SECTOR_355					355
	#define LL_FLASH_SECTOR_356					356
	#define LL_FLASH_SECTOR_357					357
	#define LL_FLASH_SECTOR_358					358
	#define LL_FLASH_SECTOR_359					359
	#define LL_FLASH_SECTOR_360					360
	#define LL_FLASH_SECTOR_361					361
	#define LL_FLASH_SECTOR_362					362
	#define LL_FLASH_SECTOR_363					363
	#define LL_FLASH_SECTOR_364					364
	#define LL_FLASH_SECTOR_365					365
	#define LL_FLASH_SECTOR_366					366
	#define LL_FLASH_SECTOR_367					367
	#define LL_FLASH_SECTOR_368					368
	#define LL_FLASH_SECTOR_369					369
	#define LL_FLASH_SECTOR_370					370
	#define LL_FLASH_SECTOR_371					371
	#define LL_FLASH_SECTOR_372					372
	#define LL_FLASH_SECTOR_373					373
	#define LL_FLASH_SECTOR_374					374
	#define LL_FLASH_SECTOR_375					375
	#define LL_FLASH_SECTOR_376					376
	#define LL_FLASH_SECTOR_377					377
	#define LL_FLASH_SECTOR_378					378
	#define LL_FLASH_SECTOR_379					379
	#define LL_FLASH_SECTOR_380					380
	#define LL_FLASH_SECTOR_381					381
	#define LL_FLASH_SECTOR_382					382
	#define LL_FLASH_SECTOR_383					383
	#define LL_FLASH_SECTOR_384					384
	#define LL_FLASH_SECTOR_385					385
	#define LL_FLASH_SECTOR_386					386
	#define LL_FLASH_SECTOR_387					387
	#define LL_FLASH_SECTOR_388					388
	#define LL_FLASH_SECTOR_389					389
	#define LL_FLASH_SECTOR_390					390
	#define LL_FLASH_SECTOR_391					391
	#define LL_FLASH_SECTOR_392					392
	#define LL_FLASH_SECTOR_393					393
	#define LL_FLASH_SECTOR_394					394
	#define LL_FLASH_SECTOR_395					395
	#define LL_FLASH_SECTOR_396					396
	#define LL_FLASH_SECTOR_397					397
	#define LL_FLASH_SECTOR_398					398
	#define LL_FLASH_SECTOR_399					399
	#define LL_FLASH_SECTOR_400					400
	#define LL_FLASH_SECTOR_401					401
	#define LL_FLASH_SECTOR_402					402
	#define LL_FLASH_SECTOR_403					403
	#define LL_FLASH_SECTOR_404					404
	#define LL_FLASH_SECTOR_405					405
	#define LL_FLASH_SECTOR_406					406
	#define LL_FLASH_SECTOR_407					407
	#define LL_FLASH_SECTOR_408					408
	#define LL_FLASH_SECTOR_409					409
	#define LL_FLASH_SECTOR_410					410
	#define LL_FLASH_SECTOR_411					411
	#define LL_FLASH_SECTOR_412					412
	#define LL_FLASH_SECTOR_413					413
	#define LL_FLASH_SECTOR_414					414
	#define LL_FLASH_SECTOR_415					415
	#define LL_FLASH_SECTOR_416					416
	#define LL_FLASH_SECTOR_417					417
	#define LL_FLASH_SECTOR_418					418
	#define LL_FLASH_SECTOR_419					419
	#define LL_FLASH_SECTOR_420					420
	#define LL_FLASH_SECTOR_421					421
	#define LL_FLASH_SECTOR_422					422
	#define LL_FLASH_SECTOR_423					423
	#define LL_FLASH_SECTOR_424					424
	#define LL_FLASH_SECTOR_425					425
	#define LL_FLASH_SECTOR_426					426
	#define LL_FLASH_SECTOR_427					427
	#define LL_FLASH_SECTOR_428					428
	#define LL_FLASH_SECTOR_429					429
	#define LL_FLASH_SECTOR_430					430
	#define LL_FLASH_SECTOR_431					431
	#define LL_FLASH_SECTOR_432					432
	#define LL_FLASH_SECTOR_433					433
	#define LL_FLASH_SECTOR_434					434
	#define LL_FLASH_SECTOR_435					435
	#define LL_FLASH_SECTOR_436					436
	#define LL_FLASH_SECTOR_437					437
	#define LL_FLASH_SECTOR_438					438
	#define LL_FLASH_SECTOR_439					439
	#define LL_FLASH_SECTOR_440					440
	#define LL_FLASH_SECTOR_441					441
	#define LL_FLASH_SECTOR_442					442
	#define LL_FLASH_SECTOR_443					443
	#define LL_FLASH_SECTOR_444					444
	#define LL_FLASH_SECTOR_445					445
	#define LL_FLASH_SECTOR_446					446
	#define LL_FLASH_SECTOR_447					447
	#define LL_FLASH_SECTOR_448					448
	#define LL_FLASH_SECTOR_449					449
	#define LL_FLASH_SECTOR_450					450
	#define LL_FLASH_SECTOR_451					451
	#define LL_FLASH_SECTOR_452					452
	#define LL_FLASH_SECTOR_453					453
	#define LL_FLASH_SECTOR_454					454
	#define LL_FLASH_SECTOR_455					455
	#define LL_FLASH_SECTOR_456					456
	#define LL_FLASH_SECTOR_457					457
	#define LL_FLASH_SECTOR_458					458
	#define LL_FLASH_SECTOR_459					459
	#define LL_FLASH_SECTOR_460					460
	#define LL_FLASH_SECTOR_461					461
	#define LL_FLASH_SECTOR_462					462
	#define LL_FLASH_SECTOR_463					463
	#define LL_FLASH_SECTOR_464					464
	#define LL_FLASH_SECTOR_465					465
	#define LL_FLASH_SECTOR_466					466
	#define LL_FLASH_SECTOR_467					467
	#define LL_FLASH_SECTOR_468					468
	#define LL_FLASH_SECTOR_469					469
	#define LL_FLASH_SECTOR_470					470
	#define LL_FLASH_SECTOR_471					471
	#define LL_FLASH_SECTOR_472					472
	#define LL_FLASH_SECTOR_473					473
	#define LL_FLASH_SECTOR_474					474
	#define LL_FLASH_SECTOR_475					475
	#define LL_FLASH_SECTOR_476					476
	#define LL_FLASH_SECTOR_477					477
	#define LL_FLASH_SECTOR_478					478
	#define LL_FLASH_SECTOR_479					479
	#define LL_FLASH_SECTOR_480					480
	#define LL_FLASH_SECTOR_481					481
	#define LL_FLASH_SECTOR_482					482
	#define LL_FLASH_SECTOR_483					483
	#define LL_FLASH_SECTOR_484					484
	#define LL_FLASH_SECTOR_485					485
	#define LL_FLASH_SECTOR_486					486
	#define LL_FLASH_SECTOR_487					487
	#define LL_FLASH_SECTOR_488					488
	#define LL_FLASH_SECTOR_489					489
	#define LL_FLASH_SECTOR_490					490
	#define LL_FLASH_SECTOR_491					491
	#define LL_FLASH_SECTOR_492					492
	#define LL_FLASH_SECTOR_493					493
	#define LL_FLASH_SECTOR_494					494
	#define LL_FLASH_SECTOR_495					495
	#define LL_FLASH_SECTOR_496					496
	#define LL_FLASH_SECTOR_497					497
	#define LL_FLASH_SECTOR_498					498
	#define LL_FLASH_SECTOR_499					499
	#define LL_FLASH_SECTOR_500					500
	#define LL_FLASH_SECTOR_501					501
	#define LL_FLASH_SECTOR_502					502
	#define LL_FLASH_SECTOR_503					503
	#define LL_FLASH_SECTOR_504					504
	#define LL_FLASH_SECTOR_505					505
	#define LL_FLASH_SECTOR_506					506
	#define LL_FLASH_SECTOR_507					507
	#define LL_FLASH_SECTOR_508					508
	#define LL_FLASH_SECTOR_509					509
	#define LL_FLASH_SECTOR_510					510
	#define LL_FLASH_SECTOR_511					511

	//===每格扇区页字节数
	#define LL_FLASH_SECTOR_SIZE				512
	#define LL_FLASH_SECTOR_MASK				~(LL_FLASH_SECTOR_SIZE-1)
	//===编程超时时间
	#define LL_FLASH_TIMEOUT_PROGRAM			(0xFFFFFEUL)
	//===擦除超时时间
	#define LL_FLASH_TIMEOUT_ERASE				(0xFFFFFEUL)

	///
	//函		数: 
	//功		能: 使能低功耗模式
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline void LL_FLASH_Enable_LowPower(void)
	{
		LL_FLASH_BYPASS();
		SET_BIT(FLASH->CR, FLASH_CR_DPSTN_EN);
	}

	///
	//函		数: 
	//功		能: 不使能低功耗模式
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline void LL_FLASH_Disable_LowPower(void)
	{
		LL_FLASH_BYPASS();
		CLEAR_BIT(FLASH->CR, FLASH_CR_DPSTN_EN);
	}

	///
	//函		数: 
	//功		能: 使能低功耗模式
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline uint32_t LL_FLASH_IsEnabled_LowPower(void)
	{
		return (uint32_t)(READ_BIT(FLASH->CR, FLASH_CR_DPSTN_EN) == FLASH_CR_DPSTN_EN);
	}

	///
	//函		数: 
	//功		能: 使能读取
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline void LL_FLASH_Enable_Read(void)
	{
		LL_FLASH_BYPASS();
		MODIFY_REG(FLASH->CR, FLASH_CR_OP, FLASH_CR_OP_READ);
	}

	///
	//函		数: 
	//功		能: 使能读取
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline uint32_t LL_FLASH_IsEnabled_Read(void)
	{
		return (uint32_t)(READ_BIT(FLASH->CR, FLASH_CR_OP) == FLASH_CR_OP_READ);
	}

	///
	//函		数: 
	//功		能: 使能编程
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline void LL_FLASH_Enable_Program(void)
	{
		LL_FLASH_BYPASS();
		MODIFY_REG(FLASH->CR, FLASH_CR_OP, FLASH_CR_OP_PROGRAM);
	}

	///
	//函		数: 
	//功		能: 使能扇区擦除
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline void LL_FLASH_Enable_SectorErase(void)
	{
		LL_FLASH_BYPASS();
		MODIFY_REG(FLASH->CR, FLASH_CR_OP, FLASH_CR_OP_SECTOR_ERASE);
	}

	///
	//函		数: 
	//功		能: 使能扇区擦除
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline void LL_FLASH_Enable_ChipErase(void)
	{
		LL_FLASH_BYPASS();
		MODIFY_REG(FLASH->CR, FLASH_CR_OP, FLASH_CR_OP_CHIP_ERASE);
	}

	///
	//函		数: 
	//功		能: 
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline uint32_t LL_FLASH_Busy(void)
	{
		return (uint32_t)(READ_BIT(FLASH->CR, FLASH_CR_BUSY) == FLASH_CR_BUSY);
	}

	///
	//函		数: 
	//功		能: 锁定Flash
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline void LL_FLASH_Lock(void)
	{
		uint32_t flash_size = LL_FLASH_GetFlashSize();
		//---32KB
		LL_FLASH_BYPASS();
		FLASH->SLOCK0 = 0x00000000UL;
		//---128KB
		if (flash_size > 0x10000UL)
		{
			LL_FLASH_BYPASS();
			FLASH->SLOCK1 = 0x00000000UL;
		}
		//---192KB
		if (flash_size > 0x20000UL)
		{
			LL_FLASH_BYPASS();
			FLASH->SLOCK2 = 0x00000000UL;
		}
		//---256KB
		if (flash_size > 0x30000UL)
		{
			LL_FLASH_BYPASS();
			FLASH->SLOCK3 = 0x00000000UL;
		}
	}

	///
	//函		数: 
	//功		能: 锁定Flash
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline void LL_FLASH_UnLock(uint32_t addr)
	{
		//---计算是扇区编号
		uint32_t sector_num = addr / LL_FLASH_SECTOR_SIZE;
		//---获取Flash大小
		uint32_t flash_size = LL_FLASH_GetFlashSize();
		//---扇区编号
		switch (sector_num)
		{
			case LL_FLASH_SECTOR_0:
			case LL_FLASH_SECTOR_1:
			case LL_FLASH_SECTOR_2:
			case LL_FLASH_SECTOR_3:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_0);
				break;
			}
			case LL_FLASH_SECTOR_4:
			case LL_FLASH_SECTOR_5:
			case LL_FLASH_SECTOR_6:
			case LL_FLASH_SECTOR_7:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_1);
				break;
			}
			case LL_FLASH_SECTOR_8:
			case LL_FLASH_SECTOR_9:
			case LL_FLASH_SECTOR_10:
			case LL_FLASH_SECTOR_11:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_2);
				break;
			}
			case LL_FLASH_SECTOR_12:
			case LL_FLASH_SECTOR_13:
			case LL_FLASH_SECTOR_14:
			case LL_FLASH_SECTOR_15:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_3);
				break;
			}
			case LL_FLASH_SECTOR_16:
			case LL_FLASH_SECTOR_17:
			case LL_FLASH_SECTOR_18:
			case LL_FLASH_SECTOR_19:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_4);
				break;
			}
			case LL_FLASH_SECTOR_20:
			case LL_FLASH_SECTOR_21:
			case LL_FLASH_SECTOR_22:
			case LL_FLASH_SECTOR_23:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_5);
				break;
			}
			case LL_FLASH_SECTOR_24:
			case LL_FLASH_SECTOR_25:
			case LL_FLASH_SECTOR_26:
			case LL_FLASH_SECTOR_27:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_6);
				break;
			}
			case LL_FLASH_SECTOR_28:
			case LL_FLASH_SECTOR_29:
			case LL_FLASH_SECTOR_30:
			case LL_FLASH_SECTOR_31:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_7);
				break;
			}
			case LL_FLASH_SECTOR_32:
			case LL_FLASH_SECTOR_33:
			case LL_FLASH_SECTOR_34:
			case LL_FLASH_SECTOR_35:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_8);
				break;
			}
			case LL_FLASH_SECTOR_36:
			case LL_FLASH_SECTOR_37:
			case LL_FLASH_SECTOR_38:
			case LL_FLASH_SECTOR_39:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_9);
				break;
			}
			case LL_FLASH_SECTOR_40:
			case LL_FLASH_SECTOR_41:
			case LL_FLASH_SECTOR_42:
			case LL_FLASH_SECTOR_43:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_10);
				break;
			}
			case LL_FLASH_SECTOR_44:
			case LL_FLASH_SECTOR_45:
			case LL_FLASH_SECTOR_46:
			case LL_FLASH_SECTOR_47:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_11);
				break;
			}
			case LL_FLASH_SECTOR_48:
			case LL_FLASH_SECTOR_49:
			case LL_FLASH_SECTOR_50:
			case LL_FLASH_SECTOR_51:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_12);
				break;
			}
			case LL_FLASH_SECTOR_52:
			case LL_FLASH_SECTOR_53:
			case LL_FLASH_SECTOR_54:
			case LL_FLASH_SECTOR_55:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_13);
				break;
			}
			case LL_FLASH_SECTOR_56:
			case LL_FLASH_SECTOR_57:
			case LL_FLASH_SECTOR_58:
			case LL_FLASH_SECTOR_59:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_14);
				break;
			}
			case LL_FLASH_SECTOR_60:
			case LL_FLASH_SECTOR_61:
			case LL_FLASH_SECTOR_62:
			case LL_FLASH_SECTOR_63:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_15);
				break;
			}
			case LL_FLASH_SECTOR_64:
			case LL_FLASH_SECTOR_65:
			case LL_FLASH_SECTOR_66:
			case LL_FLASH_SECTOR_67:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_16);
				break;
			}
			case LL_FLASH_SECTOR_68:
			case LL_FLASH_SECTOR_69:
			case LL_FLASH_SECTOR_70:
			case LL_FLASH_SECTOR_71:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_17);
				break;
			}
			case LL_FLASH_SECTOR_72:
			case LL_FLASH_SECTOR_73:
			case LL_FLASH_SECTOR_74:
			case LL_FLASH_SECTOR_75:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_18);
				break;
			}
			case LL_FLASH_SECTOR_76:
			case LL_FLASH_SECTOR_77:
			case LL_FLASH_SECTOR_78:
			case LL_FLASH_SECTOR_79:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_19);
				break;
			}
			case LL_FLASH_SECTOR_80:
			case LL_FLASH_SECTOR_81:
			case LL_FLASH_SECTOR_82:
			case LL_FLASH_SECTOR_83:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_20);
				break;
			}
			case LL_FLASH_SECTOR_84:
			case LL_FLASH_SECTOR_85:
			case LL_FLASH_SECTOR_86:
			case LL_FLASH_SECTOR_87:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_21);
				break;
			}
			case LL_FLASH_SECTOR_88:
			case LL_FLASH_SECTOR_89:
			case LL_FLASH_SECTOR_90:
			case LL_FLASH_SECTOR_91:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_22);
				break;
			}
			case LL_FLASH_SECTOR_92:
			case LL_FLASH_SECTOR_93:
			case LL_FLASH_SECTOR_94:
			case LL_FLASH_SECTOR_95:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_23);
				break;
			}
			case LL_FLASH_SECTOR_96:
			case LL_FLASH_SECTOR_97:
			case LL_FLASH_SECTOR_98:
			case LL_FLASH_SECTOR_99:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_24);
				break;
			}
			case LL_FLASH_SECTOR_100:
			case LL_FLASH_SECTOR_101:
			case LL_FLASH_SECTOR_102:
			case LL_FLASH_SECTOR_103:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_25);
				break;
			}
			case LL_FLASH_SECTOR_104:
			case LL_FLASH_SECTOR_105:
			case LL_FLASH_SECTOR_106:
			case LL_FLASH_SECTOR_107:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_26);
				break;
			}
			case LL_FLASH_SECTOR_108:
			case LL_FLASH_SECTOR_109:
			case LL_FLASH_SECTOR_110:
			case LL_FLASH_SECTOR_111:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_27);
				break;
			}
			case LL_FLASH_SECTOR_112:
			case LL_FLASH_SECTOR_113:
			case LL_FLASH_SECTOR_114:
			case LL_FLASH_SECTOR_115:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_28);
				break;
			}
			case LL_FLASH_SECTOR_116:
			case LL_FLASH_SECTOR_117:
			case LL_FLASH_SECTOR_118:
			case LL_FLASH_SECTOR_119:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_29);
				break;
			}
			case LL_FLASH_SECTOR_120:
			case LL_FLASH_SECTOR_121:
			case LL_FLASH_SECTOR_122:
			case LL_FLASH_SECTOR_123:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_30);
				break;
			}
			case LL_FLASH_SECTOR_124:
			case LL_FLASH_SECTOR_125:
			case LL_FLASH_SECTOR_126:
			case LL_FLASH_SECTOR_127:
			{
				LL_FLASH_BYPASS();
				SET_BIT(FLASH->SLOCK0, LL_REG_BIT_31);
				break;
			}
			case LL_FLASH_SECTOR_128:
			case LL_FLASH_SECTOR_129:
			case LL_FLASH_SECTOR_130:
			case LL_FLASH_SECTOR_131:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_0);
				}
				break;
			}
			case LL_FLASH_SECTOR_132:
			case LL_FLASH_SECTOR_133:
			case LL_FLASH_SECTOR_134:
			case LL_FLASH_SECTOR_135:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_1);
				}
				break;
			}
			case LL_FLASH_SECTOR_136:
			case LL_FLASH_SECTOR_137:
			case LL_FLASH_SECTOR_138:
			case LL_FLASH_SECTOR_139:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_2);
				}
				break;
			}
			case LL_FLASH_SECTOR_140:
			case LL_FLASH_SECTOR_141:
			case LL_FLASH_SECTOR_142:
			case LL_FLASH_SECTOR_143:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_3);
				}
				break;
			}
			case LL_FLASH_SECTOR_144:
			case LL_FLASH_SECTOR_145:
			case LL_FLASH_SECTOR_146:
			case LL_FLASH_SECTOR_147:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_4);
				}
				break;
			}
			case LL_FLASH_SECTOR_148:
			case LL_FLASH_SECTOR_149:
			case LL_FLASH_SECTOR_150:
			case LL_FLASH_SECTOR_151:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_5);
				}
				break;
			}
			case LL_FLASH_SECTOR_152:
			case LL_FLASH_SECTOR_153:
			case LL_FLASH_SECTOR_154:
			case LL_FLASH_SECTOR_155:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_6);
				}
				break;
			}
			case LL_FLASH_SECTOR_156:
			case LL_FLASH_SECTOR_157:
			case LL_FLASH_SECTOR_158:
			case LL_FLASH_SECTOR_159:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_7);
				}
				break;
			}
			case LL_FLASH_SECTOR_160:
			case LL_FLASH_SECTOR_161:
			case LL_FLASH_SECTOR_162:
			case LL_FLASH_SECTOR_163:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_8);
				}
				break;
			}
			case LL_FLASH_SECTOR_164:
			case LL_FLASH_SECTOR_165:
			case LL_FLASH_SECTOR_166:
			case LL_FLASH_SECTOR_167:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_9);
				}
				break;
			}
			case LL_FLASH_SECTOR_168:
			case LL_FLASH_SECTOR_169:
			case LL_FLASH_SECTOR_170:
			case LL_FLASH_SECTOR_171:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_10);
				}
				break;
			}
			case LL_FLASH_SECTOR_172:
			case LL_FLASH_SECTOR_173:
			case LL_FLASH_SECTOR_174:
			case LL_FLASH_SECTOR_175:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_11);
				}
				break;
			}
			case LL_FLASH_SECTOR_176:
			case LL_FLASH_SECTOR_177:
			case LL_FLASH_SECTOR_178:
			case LL_FLASH_SECTOR_179:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_12);
				}
				break;
			}
			case LL_FLASH_SECTOR_180:
			case LL_FLASH_SECTOR_181:
			case LL_FLASH_SECTOR_182:
			case LL_FLASH_SECTOR_183:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_13);
				}
				break;
			}
			case LL_FLASH_SECTOR_184:
			case LL_FLASH_SECTOR_185:
			case LL_FLASH_SECTOR_186:
			case LL_FLASH_SECTOR_187:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_14);
				}
				break;
			}
			case LL_FLASH_SECTOR_188:
			case LL_FLASH_SECTOR_189:
			case LL_FLASH_SECTOR_190:
			case LL_FLASH_SECTOR_191:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_15);
				}
				break;
			}
			case LL_FLASH_SECTOR_192:
			case LL_FLASH_SECTOR_193:
			case LL_FLASH_SECTOR_194:
			case LL_FLASH_SECTOR_195:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_16);
				}
				break;
			}
			case LL_FLASH_SECTOR_196:
			case LL_FLASH_SECTOR_197:
			case LL_FLASH_SECTOR_198:
			case LL_FLASH_SECTOR_199:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_17);
				}
				break;
			}
			case LL_FLASH_SECTOR_200:
			case LL_FLASH_SECTOR_201:
			case LL_FLASH_SECTOR_202:
			case LL_FLASH_SECTOR_203:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_18);
				}
				break;
			}
			case LL_FLASH_SECTOR_204:
			case LL_FLASH_SECTOR_205:
			case LL_FLASH_SECTOR_206:
			case LL_FLASH_SECTOR_207:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_19);
				}
				break;
			}
			case LL_FLASH_SECTOR_208:
			case LL_FLASH_SECTOR_209:
			case LL_FLASH_SECTOR_210:
			case LL_FLASH_SECTOR_211:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_20);
				}
				break;
			}
			case LL_FLASH_SECTOR_212:
			case LL_FLASH_SECTOR_213:
			case LL_FLASH_SECTOR_214:
			case LL_FLASH_SECTOR_215:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_21);
				}
				break;
			}
			case LL_FLASH_SECTOR_216:
			case LL_FLASH_SECTOR_217:
			case LL_FLASH_SECTOR_218:
			case LL_FLASH_SECTOR_219:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_22);
				}
				break;
			}
			case LL_FLASH_SECTOR_220:
			case LL_FLASH_SECTOR_221:
			case LL_FLASH_SECTOR_222:
			case LL_FLASH_SECTOR_223:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_23);
				}
				break;
			}
			case LL_FLASH_SECTOR_224:
			case LL_FLASH_SECTOR_225:
			case LL_FLASH_SECTOR_226:
			case LL_FLASH_SECTOR_227:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_24);
				}
				break;
			}
			case LL_FLASH_SECTOR_228:
			case LL_FLASH_SECTOR_229:
			case LL_FLASH_SECTOR_230:
			case LL_FLASH_SECTOR_231:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_25);
				}
				break;
			}
			case LL_FLASH_SECTOR_232:
			case LL_FLASH_SECTOR_233:
			case LL_FLASH_SECTOR_234:
			case LL_FLASH_SECTOR_235:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_26);
				}
				break;
			}
			case LL_FLASH_SECTOR_236:
			case LL_FLASH_SECTOR_237:
			case LL_FLASH_SECTOR_238:
			case LL_FLASH_SECTOR_239:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_27);
				}
				break;
			}
			case LL_FLASH_SECTOR_240:
			case LL_FLASH_SECTOR_241:
			case LL_FLASH_SECTOR_242:
			case LL_FLASH_SECTOR_243:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_28);
				}
				break;
			}
			case LL_FLASH_SECTOR_244:
			case LL_FLASH_SECTOR_245:
			case LL_FLASH_SECTOR_246:
			case LL_FLASH_SECTOR_247:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_29);
				}
				break;
			}
			case LL_FLASH_SECTOR_248:
			case LL_FLASH_SECTOR_249:
			case LL_FLASH_SECTOR_250:
			case LL_FLASH_SECTOR_251:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_30);
				}
				break;
			}
			case LL_FLASH_SECTOR_252:
			case LL_FLASH_SECTOR_253:
			case LL_FLASH_SECTOR_254:
			case LL_FLASH_SECTOR_255:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK1, LL_REG_BIT_31);
				}
				break;
			}
			case LL_FLASH_SECTOR_256:
			case LL_FLASH_SECTOR_257:
			case LL_FLASH_SECTOR_258:
			case LL_FLASH_SECTOR_259:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_0);
				}
				break;
			}
			case LL_FLASH_SECTOR_260:
			case LL_FLASH_SECTOR_261:
			case LL_FLASH_SECTOR_262:
			case LL_FLASH_SECTOR_263:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_1);
				}
				break;
			}
			case LL_FLASH_SECTOR_264:
			case LL_FLASH_SECTOR_265:
			case LL_FLASH_SECTOR_266:
			case LL_FLASH_SECTOR_267:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_2);
				}
				break;
			}
			case LL_FLASH_SECTOR_268:
			case LL_FLASH_SECTOR_269:
			case LL_FLASH_SECTOR_270:
			case LL_FLASH_SECTOR_271:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_3);
				}
				break;
			}
			case LL_FLASH_SECTOR_272:
			case LL_FLASH_SECTOR_273:
			case LL_FLASH_SECTOR_274:
			case LL_FLASH_SECTOR_275:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_4);
				}
				break;
			}
			case LL_FLASH_SECTOR_276:
			case LL_FLASH_SECTOR_277:
			case LL_FLASH_SECTOR_278:
			case LL_FLASH_SECTOR_279:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_5);
				}
				break;
			}
			case LL_FLASH_SECTOR_280:
			case LL_FLASH_SECTOR_281:
			case LL_FLASH_SECTOR_282:
			case LL_FLASH_SECTOR_283:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_6);
				}
				break;
			}
			case LL_FLASH_SECTOR_284:
			case LL_FLASH_SECTOR_285:
			case LL_FLASH_SECTOR_286:
			case LL_FLASH_SECTOR_287:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_7);
				}
				break;
			}
			case LL_FLASH_SECTOR_288:
			case LL_FLASH_SECTOR_289:
			case LL_FLASH_SECTOR_290:
			case LL_FLASH_SECTOR_291:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_8);
				}
				break;
			}
			case LL_FLASH_SECTOR_292:
			case LL_FLASH_SECTOR_293:
			case LL_FLASH_SECTOR_294:
			case LL_FLASH_SECTOR_295:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_9);
				}
				break;
			}
			case LL_FLASH_SECTOR_296:
			case LL_FLASH_SECTOR_297:
			case LL_FLASH_SECTOR_298:
			case LL_FLASH_SECTOR_299:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_10);
				}
				break;
			}
			case LL_FLASH_SECTOR_300:
			case LL_FLASH_SECTOR_301:
			case LL_FLASH_SECTOR_302:
			case LL_FLASH_SECTOR_303:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_11);
				}
				break;
			}
			case LL_FLASH_SECTOR_304:
			case LL_FLASH_SECTOR_305:
			case LL_FLASH_SECTOR_306:
			case LL_FLASH_SECTOR_307:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_12);
				}
				break;
			}
			case LL_FLASH_SECTOR_308:
			case LL_FLASH_SECTOR_309:
			case LL_FLASH_SECTOR_310:
			case LL_FLASH_SECTOR_311:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_13);
				}
				break;
			}
			case LL_FLASH_SECTOR_312:
			case LL_FLASH_SECTOR_313:
			case LL_FLASH_SECTOR_314:
			case LL_FLASH_SECTOR_315:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_14);
				}
				break;
			}
			case LL_FLASH_SECTOR_316:
			case LL_FLASH_SECTOR_317:
			case LL_FLASH_SECTOR_318:
			case LL_FLASH_SECTOR_319:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_15);
				}
				break;
			}
			case LL_FLASH_SECTOR_320:
			case LL_FLASH_SECTOR_321:
			case LL_FLASH_SECTOR_322:
			case LL_FLASH_SECTOR_323:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_16); 
				}
				break;
			}
			case LL_FLASH_SECTOR_324:
			case LL_FLASH_SECTOR_325:
			case LL_FLASH_SECTOR_326:
			case LL_FLASH_SECTOR_327:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_17);
				}
				break;
			}
			case LL_FLASH_SECTOR_328:
			case LL_FLASH_SECTOR_329:
			case LL_FLASH_SECTOR_330:
			case LL_FLASH_SECTOR_331:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_18);
				}
				break;
			}
			case LL_FLASH_SECTOR_332:
			case LL_FLASH_SECTOR_333:
			case LL_FLASH_SECTOR_334:
			case LL_FLASH_SECTOR_335:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_19);
				}
				break;
			}
			case LL_FLASH_SECTOR_336:
			case LL_FLASH_SECTOR_337:
			case LL_FLASH_SECTOR_338:
			case LL_FLASH_SECTOR_339:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_20);
				}
				break;
			}
			case LL_FLASH_SECTOR_340:
			case LL_FLASH_SECTOR_341:
			case LL_FLASH_SECTOR_342:
			case LL_FLASH_SECTOR_343:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_21);
				}
				break;
			}
			case LL_FLASH_SECTOR_344:
			case LL_FLASH_SECTOR_345:
			case LL_FLASH_SECTOR_346:
			case LL_FLASH_SECTOR_347:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_22);
				}
				break;
			}
			case LL_FLASH_SECTOR_348:
			case LL_FLASH_SECTOR_349:
			case LL_FLASH_SECTOR_350:
			case LL_FLASH_SECTOR_351:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_23);
				}
				break;
			}
			case LL_FLASH_SECTOR_352:
			case LL_FLASH_SECTOR_353:
			case LL_FLASH_SECTOR_354:
			case LL_FLASH_SECTOR_355:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_24);
				}
				break;
			}
			case LL_FLASH_SECTOR_356:
			case LL_FLASH_SECTOR_357:
			case LL_FLASH_SECTOR_358:
			case LL_FLASH_SECTOR_359:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_25);
				}
				break;
			}
			case LL_FLASH_SECTOR_360:
			case LL_FLASH_SECTOR_361:
			case LL_FLASH_SECTOR_362:
			case LL_FLASH_SECTOR_363:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_26);
				}
				break;
			}
			case LL_FLASH_SECTOR_364:
			case LL_FLASH_SECTOR_365:
			case LL_FLASH_SECTOR_366:
			case LL_FLASH_SECTOR_367:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_27);
				}
				break;
			}
			case LL_FLASH_SECTOR_368:
			case LL_FLASH_SECTOR_369:
			case LL_FLASH_SECTOR_370:
			case LL_FLASH_SECTOR_371:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_28);
				}
				break;
			}
			case LL_FLASH_SECTOR_372:
			case LL_FLASH_SECTOR_373:
			case LL_FLASH_SECTOR_374:
			case LL_FLASH_SECTOR_375:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_29);
				}
				break;
			}
			case LL_FLASH_SECTOR_376:
			case LL_FLASH_SECTOR_377:
			case LL_FLASH_SECTOR_378:
			case LL_FLASH_SECTOR_379:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_30);
				}
				break;
			}
			case LL_FLASH_SECTOR_380:
			case LL_FLASH_SECTOR_381:
			case LL_FLASH_SECTOR_382:
			case LL_FLASH_SECTOR_383:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK2, LL_REG_BIT_31);
				}
				break;
			}
			case LL_FLASH_SECTOR_384:
			case LL_FLASH_SECTOR_385:
			case LL_FLASH_SECTOR_386:
			case LL_FLASH_SECTOR_387:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_0);
				}
				break;
			}
			case LL_FLASH_SECTOR_388:
			case LL_FLASH_SECTOR_389:
			case LL_FLASH_SECTOR_390:
			case LL_FLASH_SECTOR_391:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_1);
				}
				break;
			}
			case LL_FLASH_SECTOR_392:
			case LL_FLASH_SECTOR_393:
			case LL_FLASH_SECTOR_394:
			case LL_FLASH_SECTOR_395:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_2); 
				}
				break;
			}
			case LL_FLASH_SECTOR_396:
			case LL_FLASH_SECTOR_397:
			case LL_FLASH_SECTOR_398:
			case LL_FLASH_SECTOR_399:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_3);
				}
				break;
			}
			case LL_FLASH_SECTOR_400:
			case LL_FLASH_SECTOR_401:
			case LL_FLASH_SECTOR_402:
			case LL_FLASH_SECTOR_403:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_4);
				}
				break;
			}
			case LL_FLASH_SECTOR_404:
			case LL_FLASH_SECTOR_405:
			case LL_FLASH_SECTOR_406:
			case LL_FLASH_SECTOR_407:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_5);
				}
				break;
			}
			case LL_FLASH_SECTOR_408:
			case LL_FLASH_SECTOR_409:
			case LL_FLASH_SECTOR_410:
			case LL_FLASH_SECTOR_411:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_6);
				}
				break;
			}
			case LL_FLASH_SECTOR_412:
			case LL_FLASH_SECTOR_413:
			case LL_FLASH_SECTOR_414:
			case LL_FLASH_SECTOR_415:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_7);
				}
				break;
			}
			case LL_FLASH_SECTOR_416:
			case LL_FLASH_SECTOR_417:
			case LL_FLASH_SECTOR_418:
			case LL_FLASH_SECTOR_419:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_8);
				}
				break;
			}
			case LL_FLASH_SECTOR_420:
			case LL_FLASH_SECTOR_421:
			case LL_FLASH_SECTOR_422:
			case LL_FLASH_SECTOR_423:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_9);
				}
				break;
			}
			case LL_FLASH_SECTOR_424:
			case LL_FLASH_SECTOR_425:
			case LL_FLASH_SECTOR_426:
			case LL_FLASH_SECTOR_427:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_10);
				}
				break;
			}
			case LL_FLASH_SECTOR_428:
			case LL_FLASH_SECTOR_429:
			case LL_FLASH_SECTOR_430:
			case LL_FLASH_SECTOR_431:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_11);
				}
				break;
			}
			case LL_FLASH_SECTOR_432:
			case LL_FLASH_SECTOR_433:
			case LL_FLASH_SECTOR_434:
			case LL_FLASH_SECTOR_435:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_12);
				}
				break;
			}
			case LL_FLASH_SECTOR_436:
			case LL_FLASH_SECTOR_437:
			case LL_FLASH_SECTOR_438:
			case LL_FLASH_SECTOR_439:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_13);
				}
				break;
			}
			case LL_FLASH_SECTOR_440:
			case LL_FLASH_SECTOR_441:
			case LL_FLASH_SECTOR_442:
			case LL_FLASH_SECTOR_443:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_14);
				}
				break;
			}
			case LL_FLASH_SECTOR_444:
			case LL_FLASH_SECTOR_445:
			case LL_FLASH_SECTOR_446:
			case LL_FLASH_SECTOR_447:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_15);
				}
				break;
			}
			case LL_FLASH_SECTOR_448:
			case LL_FLASH_SECTOR_449:
			case LL_FLASH_SECTOR_450:
			case LL_FLASH_SECTOR_451:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_16);
				}
				break;
			}
			case LL_FLASH_SECTOR_452:
			case LL_FLASH_SECTOR_453:
			case LL_FLASH_SECTOR_454:
			case LL_FLASH_SECTOR_455:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_17);
				}
				break;
			}
			case LL_FLASH_SECTOR_456:
			case LL_FLASH_SECTOR_457:
			case LL_FLASH_SECTOR_458:
			case LL_FLASH_SECTOR_459:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_18);
				}
				break;
			}
			case LL_FLASH_SECTOR_460:
			case LL_FLASH_SECTOR_461:
			case LL_FLASH_SECTOR_462:
			case LL_FLASH_SECTOR_463:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_19);
				}
				break;
			}
			case LL_FLASH_SECTOR_464:
			case LL_FLASH_SECTOR_465:
			case LL_FLASH_SECTOR_466:
			case LL_FLASH_SECTOR_467:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_20);
				}
				break;
			}
			case LL_FLASH_SECTOR_468:
			case LL_FLASH_SECTOR_469:
			case LL_FLASH_SECTOR_470:
			case LL_FLASH_SECTOR_471:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_21);
				}
				break;
			}
			case LL_FLASH_SECTOR_472:
			case LL_FLASH_SECTOR_473:
			case LL_FLASH_SECTOR_474:
			case LL_FLASH_SECTOR_475:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_22);
				}
				break;
			}
			case LL_FLASH_SECTOR_476:
			case LL_FLASH_SECTOR_477:
			case LL_FLASH_SECTOR_478:
			case LL_FLASH_SECTOR_479:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_23);
				}
				break;
			}
			case LL_FLASH_SECTOR_480:
			case LL_FLASH_SECTOR_481:
			case LL_FLASH_SECTOR_482:
			case LL_FLASH_SECTOR_483:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_24);
				}
				break;
			}
			case LL_FLASH_SECTOR_484:
			case LL_FLASH_SECTOR_485:
			case LL_FLASH_SECTOR_486:
			case LL_FLASH_SECTOR_487:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_25);
				}
				break;
			}
			case LL_FLASH_SECTOR_488:
			case LL_FLASH_SECTOR_489:
			case LL_FLASH_SECTOR_490:
			case LL_FLASH_SECTOR_491:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_26);
				}
				break;
			}
			case LL_FLASH_SECTOR_492:
			case LL_FLASH_SECTOR_493:
			case LL_FLASH_SECTOR_494:
			case LL_FLASH_SECTOR_495:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_27);
				}
				break;
			}
			case LL_FLASH_SECTOR_496:
			case LL_FLASH_SECTOR_497:
			case LL_FLASH_SECTOR_498:
			case LL_FLASH_SECTOR_499:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_28);
				}
				break;
			}
			case LL_FLASH_SECTOR_500:
			case LL_FLASH_SECTOR_501:
			case LL_FLASH_SECTOR_502:
			case LL_FLASH_SECTOR_503:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_29);
				}
				break;
			}
			case LL_FLASH_SECTOR_504:
			case LL_FLASH_SECTOR_505:
			case LL_FLASH_SECTOR_506:
			case LL_FLASH_SECTOR_507:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_30);
				}
				break;
			}
			case LL_FLASH_SECTOR_508:
			case LL_FLASH_SECTOR_509:
			case LL_FLASH_SECTOR_510:
			case LL_FLASH_SECTOR_511:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					SET_BIT(FLASH->SLOCK3, LL_REG_BIT_31);
				}
				break;
			}
			default:
			{
				LL_FLASH_Lock();
				break;
			}
		}
	}

	///
	//函		数: 
	//功		能: 锁定指定位置
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline void LL_FLASH_LockAddr(uint32_t addr)
	{
		//---计算是扇区编号
		uint32_t sector_num = addr / LL_FLASH_SECTOR_SIZE;
		//---获取Flash大小
		uint32_t flash_size = LL_FLASH_GetFlashSize();
		//---扇区编号
		switch (sector_num)
		{
			case LL_FLASH_SECTOR_0:
			case LL_FLASH_SECTOR_1:
			case LL_FLASH_SECTOR_2:
			case LL_FLASH_SECTOR_3:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_0);
				break;
			}
			case LL_FLASH_SECTOR_4:
			case LL_FLASH_SECTOR_5:
			case LL_FLASH_SECTOR_6:
			case LL_FLASH_SECTOR_7:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_1);
				break;
			}
			case LL_FLASH_SECTOR_8:
			case LL_FLASH_SECTOR_9:
			case LL_FLASH_SECTOR_10:
			case LL_FLASH_SECTOR_11:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_2);
				break;
			}
			case LL_FLASH_SECTOR_12:
			case LL_FLASH_SECTOR_13:
			case LL_FLASH_SECTOR_14:
			case LL_FLASH_SECTOR_15:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_3);
				break;
			}
			case LL_FLASH_SECTOR_16:
			case LL_FLASH_SECTOR_17:
			case LL_FLASH_SECTOR_18:
			case LL_FLASH_SECTOR_19:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_4);
				break;
			}
			case LL_FLASH_SECTOR_20:
			case LL_FLASH_SECTOR_21:
			case LL_FLASH_SECTOR_22:
			case LL_FLASH_SECTOR_23:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_5);
				break;
			}
			case LL_FLASH_SECTOR_24:
			case LL_FLASH_SECTOR_25:
			case LL_FLASH_SECTOR_26:
			case LL_FLASH_SECTOR_27:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_6);
				break;
			}
			case LL_FLASH_SECTOR_28:
			case LL_FLASH_SECTOR_29:
			case LL_FLASH_SECTOR_30:
			case LL_FLASH_SECTOR_31:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_7);
				break;
			}
			case LL_FLASH_SECTOR_32:
			case LL_FLASH_SECTOR_33:
			case LL_FLASH_SECTOR_34:
			case LL_FLASH_SECTOR_35:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_8);
				break;
			}
			case LL_FLASH_SECTOR_36:
			case LL_FLASH_SECTOR_37:
			case LL_FLASH_SECTOR_38:
			case LL_FLASH_SECTOR_39:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_9);
				break;
			}
			case LL_FLASH_SECTOR_40:
			case LL_FLASH_SECTOR_41:
			case LL_FLASH_SECTOR_42:
			case LL_FLASH_SECTOR_43:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_10);
				break;
			}
			case LL_FLASH_SECTOR_44:
			case LL_FLASH_SECTOR_45:
			case LL_FLASH_SECTOR_46:
			case LL_FLASH_SECTOR_47:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_11);
				break;
			}
			case LL_FLASH_SECTOR_48:
			case LL_FLASH_SECTOR_49:
			case LL_FLASH_SECTOR_50:
			case LL_FLASH_SECTOR_51:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_12);
				break;
			}
			case LL_FLASH_SECTOR_52:
			case LL_FLASH_SECTOR_53:
			case LL_FLASH_SECTOR_54:
			case LL_FLASH_SECTOR_55:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_13);
				break;
			}
			case LL_FLASH_SECTOR_56:
			case LL_FLASH_SECTOR_57:
			case LL_FLASH_SECTOR_58:
			case LL_FLASH_SECTOR_59:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_14);
				break;
			}
			case LL_FLASH_SECTOR_60:
			case LL_FLASH_SECTOR_61:
			case LL_FLASH_SECTOR_62:
			case LL_FLASH_SECTOR_63:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_15);
				break;
			}
			case LL_FLASH_SECTOR_64:
			case LL_FLASH_SECTOR_65:
			case LL_FLASH_SECTOR_66:
			case LL_FLASH_SECTOR_67:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_16);
				break;
			}
			case LL_FLASH_SECTOR_68:
			case LL_FLASH_SECTOR_69:
			case LL_FLASH_SECTOR_70:
			case LL_FLASH_SECTOR_71:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_17);
				break;
			}
			case LL_FLASH_SECTOR_72:
			case LL_FLASH_SECTOR_73:
			case LL_FLASH_SECTOR_74:
			case LL_FLASH_SECTOR_75:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_18);
				break;
			}
			case LL_FLASH_SECTOR_76:
			case LL_FLASH_SECTOR_77:
			case LL_FLASH_SECTOR_78:
			case LL_FLASH_SECTOR_79:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_19);
				break;
			}
			case LL_FLASH_SECTOR_80:
			case LL_FLASH_SECTOR_81:
			case LL_FLASH_SECTOR_82:
			case LL_FLASH_SECTOR_83:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_20);
				break;
			}
			case LL_FLASH_SECTOR_84:
			case LL_FLASH_SECTOR_85:
			case LL_FLASH_SECTOR_86:
			case LL_FLASH_SECTOR_87:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_21);
				break;
			}
			case LL_FLASH_SECTOR_88:
			case LL_FLASH_SECTOR_89:
			case LL_FLASH_SECTOR_90:
			case LL_FLASH_SECTOR_91:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_22);
				break;
			}
			case LL_FLASH_SECTOR_92:
			case LL_FLASH_SECTOR_93:
			case LL_FLASH_SECTOR_94:
			case LL_FLASH_SECTOR_95:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_23);
				break;
			}
			case LL_FLASH_SECTOR_96:
			case LL_FLASH_SECTOR_97:
			case LL_FLASH_SECTOR_98:
			case LL_FLASH_SECTOR_99:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_24);
				break;
			}
			case LL_FLASH_SECTOR_100:
			case LL_FLASH_SECTOR_101:
			case LL_FLASH_SECTOR_102:
			case LL_FLASH_SECTOR_103:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_25);
				break;
			}
			case LL_FLASH_SECTOR_104:
			case LL_FLASH_SECTOR_105:
			case LL_FLASH_SECTOR_106:
			case LL_FLASH_SECTOR_107:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_26);
				break;
			}
			case LL_FLASH_SECTOR_108:
			case LL_FLASH_SECTOR_109:
			case LL_FLASH_SECTOR_110:
			case LL_FLASH_SECTOR_111:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_27);
				break;
			}
			case LL_FLASH_SECTOR_112:
			case LL_FLASH_SECTOR_113:
			case LL_FLASH_SECTOR_114:
			case LL_FLASH_SECTOR_115:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_28);
				break;
			}
			case LL_FLASH_SECTOR_116:
			case LL_FLASH_SECTOR_117:
			case LL_FLASH_SECTOR_118:
			case LL_FLASH_SECTOR_119:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_29);
				break;
			}
			case LL_FLASH_SECTOR_120:
			case LL_FLASH_SECTOR_121:
			case LL_FLASH_SECTOR_122:
			case LL_FLASH_SECTOR_123:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_30);
				break;
			}
			case LL_FLASH_SECTOR_124:
			case LL_FLASH_SECTOR_125:
			case LL_FLASH_SECTOR_126:
			case LL_FLASH_SECTOR_127:
			{
				LL_FLASH_BYPASS();
				CLEAR_BIT(FLASH->SLOCK0, LL_REG_BIT_31);
				break;
			}
			case LL_FLASH_SECTOR_128:
			case LL_FLASH_SECTOR_129:
			case LL_FLASH_SECTOR_130:
			case LL_FLASH_SECTOR_131:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_0);
				}
				break;
			}
			case LL_FLASH_SECTOR_132:
			case LL_FLASH_SECTOR_133:
			case LL_FLASH_SECTOR_134:
			case LL_FLASH_SECTOR_135:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_1);
				}
				break;
			}
			case LL_FLASH_SECTOR_136:
			case LL_FLASH_SECTOR_137:
			case LL_FLASH_SECTOR_138:
			case LL_FLASH_SECTOR_139:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_2);
				}
				break;
			}
			case LL_FLASH_SECTOR_140:
			case LL_FLASH_SECTOR_141:
			case LL_FLASH_SECTOR_142:
			case LL_FLASH_SECTOR_143:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_3);
				}
				break;
			}
			case LL_FLASH_SECTOR_144:
			case LL_FLASH_SECTOR_145:
			case LL_FLASH_SECTOR_146:
			case LL_FLASH_SECTOR_147:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_4);
				}
				break;
			}
			case LL_FLASH_SECTOR_148:
			case LL_FLASH_SECTOR_149:
			case LL_FLASH_SECTOR_150:
			case LL_FLASH_SECTOR_151:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_5);
				}
				break;
			}
			case LL_FLASH_SECTOR_152:
			case LL_FLASH_SECTOR_153:
			case LL_FLASH_SECTOR_154:
			case LL_FLASH_SECTOR_155:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_6);
				}
				break;
			}
			case LL_FLASH_SECTOR_156:
			case LL_FLASH_SECTOR_157:
			case LL_FLASH_SECTOR_158:
			case LL_FLASH_SECTOR_159:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_7);
				}
				break;
			}
			case LL_FLASH_SECTOR_160:
			case LL_FLASH_SECTOR_161:
			case LL_FLASH_SECTOR_162:
			case LL_FLASH_SECTOR_163:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_8);
				}
				break;
			}
			case LL_FLASH_SECTOR_164:
			case LL_FLASH_SECTOR_165:
			case LL_FLASH_SECTOR_166:
			case LL_FLASH_SECTOR_167:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_9);
				}
				break;
			}
			case LL_FLASH_SECTOR_168:
			case LL_FLASH_SECTOR_169:
			case LL_FLASH_SECTOR_170:
			case LL_FLASH_SECTOR_171:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_10);
				}
				break;
			}
			case LL_FLASH_SECTOR_172:
			case LL_FLASH_SECTOR_173:
			case LL_FLASH_SECTOR_174:
			case LL_FLASH_SECTOR_175:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_11);
				}
				break;
			}
			case LL_FLASH_SECTOR_176:
			case LL_FLASH_SECTOR_177:
			case LL_FLASH_SECTOR_178:
			case LL_FLASH_SECTOR_179:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_12);
				}
				break;
			}
			case LL_FLASH_SECTOR_180:
			case LL_FLASH_SECTOR_181:
			case LL_FLASH_SECTOR_182:
			case LL_FLASH_SECTOR_183:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_13);
				}
				break;
			}
			case LL_FLASH_SECTOR_184:
			case LL_FLASH_SECTOR_185:
			case LL_FLASH_SECTOR_186:
			case LL_FLASH_SECTOR_187:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_14);
				}
				break;
			}
			case LL_FLASH_SECTOR_188:
			case LL_FLASH_SECTOR_189:
			case LL_FLASH_SECTOR_190:
			case LL_FLASH_SECTOR_191:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_15);
				}
				break;
			}
			case LL_FLASH_SECTOR_192:
			case LL_FLASH_SECTOR_193:
			case LL_FLASH_SECTOR_194:
			case LL_FLASH_SECTOR_195:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_16);
				}
				break;
			}
			case LL_FLASH_SECTOR_196:
			case LL_FLASH_SECTOR_197:
			case LL_FLASH_SECTOR_198:
			case LL_FLASH_SECTOR_199:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_17);
				}
				break;
			}
			case LL_FLASH_SECTOR_200:
			case LL_FLASH_SECTOR_201:
			case LL_FLASH_SECTOR_202:
			case LL_FLASH_SECTOR_203:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_18);
				}
				break;
			}
			case LL_FLASH_SECTOR_204:
			case LL_FLASH_SECTOR_205:
			case LL_FLASH_SECTOR_206:
			case LL_FLASH_SECTOR_207:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_19);
				}
				break;
			}
			case LL_FLASH_SECTOR_208:
			case LL_FLASH_SECTOR_209:
			case LL_FLASH_SECTOR_210:
			case LL_FLASH_SECTOR_211:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_20);
				}
				break;
			}
			case LL_FLASH_SECTOR_212:
			case LL_FLASH_SECTOR_213:
			case LL_FLASH_SECTOR_214:
			case LL_FLASH_SECTOR_215:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_21);
				}
				break;
			}
			case LL_FLASH_SECTOR_216:
			case LL_FLASH_SECTOR_217:
			case LL_FLASH_SECTOR_218:
			case LL_FLASH_SECTOR_219:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_22);
				}
				break;
			}
			case LL_FLASH_SECTOR_220:
			case LL_FLASH_SECTOR_221:
			case LL_FLASH_SECTOR_222:
			case LL_FLASH_SECTOR_223:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_23);
				}
				break;
			}
			case LL_FLASH_SECTOR_224:
			case LL_FLASH_SECTOR_225:
			case LL_FLASH_SECTOR_226:
			case LL_FLASH_SECTOR_227:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_24);
				}
				break;
			}
			case LL_FLASH_SECTOR_228:
			case LL_FLASH_SECTOR_229:
			case LL_FLASH_SECTOR_230:
			case LL_FLASH_SECTOR_231:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_25);
				}
				break;
			}
			case LL_FLASH_SECTOR_232:
			case LL_FLASH_SECTOR_233:
			case LL_FLASH_SECTOR_234:
			case LL_FLASH_SECTOR_235:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_26);
				}
				break;
			}
			case LL_FLASH_SECTOR_236:
			case LL_FLASH_SECTOR_237:
			case LL_FLASH_SECTOR_238:
			case LL_FLASH_SECTOR_239:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_27);
				}
				break;
			}
			case LL_FLASH_SECTOR_240:
			case LL_FLASH_SECTOR_241:
			case LL_FLASH_SECTOR_242:
			case LL_FLASH_SECTOR_243:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_28);
				}
				break;
			}
			case LL_FLASH_SECTOR_244:
			case LL_FLASH_SECTOR_245:
			case LL_FLASH_SECTOR_246:
			case LL_FLASH_SECTOR_247:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_29);
				}
				break;
			}
			case LL_FLASH_SECTOR_248:
			case LL_FLASH_SECTOR_249:
			case LL_FLASH_SECTOR_250:
			case LL_FLASH_SECTOR_251:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_30);
				}
				break;
			}
			case LL_FLASH_SECTOR_252:
			case LL_FLASH_SECTOR_253:
			case LL_FLASH_SECTOR_254:
			case LL_FLASH_SECTOR_255:
			{
				if (flash_size > 0x10000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK1, LL_REG_BIT_31);
				}
				break;
			}
			case LL_FLASH_SECTOR_256:
			case LL_FLASH_SECTOR_257:
			case LL_FLASH_SECTOR_258:
			case LL_FLASH_SECTOR_259:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_0);
				}
				break;
			}
			case LL_FLASH_SECTOR_260:
			case LL_FLASH_SECTOR_261:
			case LL_FLASH_SECTOR_262:
			case LL_FLASH_SECTOR_263:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_1);
				}
				break;
			}
			case LL_FLASH_SECTOR_264:
			case LL_FLASH_SECTOR_265:
			case LL_FLASH_SECTOR_266:
			case LL_FLASH_SECTOR_267:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_2);
				}
				break;
			}
			case LL_FLASH_SECTOR_268:
			case LL_FLASH_SECTOR_269:
			case LL_FLASH_SECTOR_270:
			case LL_FLASH_SECTOR_271:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_3);
				}
				break;
			}
			case LL_FLASH_SECTOR_272:
			case LL_FLASH_SECTOR_273:
			case LL_FLASH_SECTOR_274:
			case LL_FLASH_SECTOR_275:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_4);
				}
				break;
			}
			case LL_FLASH_SECTOR_276:
			case LL_FLASH_SECTOR_277:
			case LL_FLASH_SECTOR_278:
			case LL_FLASH_SECTOR_279:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_5);
				}
				break;
			}
			case LL_FLASH_SECTOR_280:
			case LL_FLASH_SECTOR_281:
			case LL_FLASH_SECTOR_282:
			case LL_FLASH_SECTOR_283:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_6);
				}
				break;
			}
			case LL_FLASH_SECTOR_284:
			case LL_FLASH_SECTOR_285:
			case LL_FLASH_SECTOR_286:
			case LL_FLASH_SECTOR_287:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_7);
				}
				break;
			}
			case LL_FLASH_SECTOR_288:
			case LL_FLASH_SECTOR_289:
			case LL_FLASH_SECTOR_290:
			case LL_FLASH_SECTOR_291:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_8);
				}
				break;
			}
			case LL_FLASH_SECTOR_292:
			case LL_FLASH_SECTOR_293:
			case LL_FLASH_SECTOR_294:
			case LL_FLASH_SECTOR_295:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_9);
				}
				break;
			}
			case LL_FLASH_SECTOR_296:
			case LL_FLASH_SECTOR_297:
			case LL_FLASH_SECTOR_298:
			case LL_FLASH_SECTOR_299:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_10);
				}
				break;
			}
			case LL_FLASH_SECTOR_300:
			case LL_FLASH_SECTOR_301:
			case LL_FLASH_SECTOR_302:
			case LL_FLASH_SECTOR_303:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_11);
				}
				break;
			}
			case LL_FLASH_SECTOR_304:
			case LL_FLASH_SECTOR_305:
			case LL_FLASH_SECTOR_306:
			case LL_FLASH_SECTOR_307:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_12);
				}
				break;
			}
			case LL_FLASH_SECTOR_308:
			case LL_FLASH_SECTOR_309:
			case LL_FLASH_SECTOR_310:
			case LL_FLASH_SECTOR_311:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_13);
				}
				break;
			}
			case LL_FLASH_SECTOR_312:
			case LL_FLASH_SECTOR_313:
			case LL_FLASH_SECTOR_314:
			case LL_FLASH_SECTOR_315:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_14);
				}
				break;
			}
			case LL_FLASH_SECTOR_316:
			case LL_FLASH_SECTOR_317:
			case LL_FLASH_SECTOR_318:
			case LL_FLASH_SECTOR_319:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_15);
				}
				break;
			}
			case LL_FLASH_SECTOR_320:
			case LL_FLASH_SECTOR_321:
			case LL_FLASH_SECTOR_322:
			case LL_FLASH_SECTOR_323:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_16);
				}
				break;
			}
			case LL_FLASH_SECTOR_324:
			case LL_FLASH_SECTOR_325:
			case LL_FLASH_SECTOR_326:
			case LL_FLASH_SECTOR_327:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_17);
				}
				break;
			}
			case LL_FLASH_SECTOR_328:
			case LL_FLASH_SECTOR_329:
			case LL_FLASH_SECTOR_330:
			case LL_FLASH_SECTOR_331:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_18);
				}
				break;
			}
			case LL_FLASH_SECTOR_332:
			case LL_FLASH_SECTOR_333:
			case LL_FLASH_SECTOR_334:
			case LL_FLASH_SECTOR_335:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_19);
				}
				break;
			}
			case LL_FLASH_SECTOR_336:
			case LL_FLASH_SECTOR_337:
			case LL_FLASH_SECTOR_338:
			case LL_FLASH_SECTOR_339:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_20);
				}
				break;
			}
			case LL_FLASH_SECTOR_340:
			case LL_FLASH_SECTOR_341:
			case LL_FLASH_SECTOR_342:
			case LL_FLASH_SECTOR_343:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_21);
				}
				break;
			}
			case LL_FLASH_SECTOR_344:
			case LL_FLASH_SECTOR_345:
			case LL_FLASH_SECTOR_346:
			case LL_FLASH_SECTOR_347:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_22);
				}
				break;
			}
			case LL_FLASH_SECTOR_348:
			case LL_FLASH_SECTOR_349:
			case LL_FLASH_SECTOR_350:
			case LL_FLASH_SECTOR_351:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_23);
				}
				break;
			}
			case LL_FLASH_SECTOR_352:
			case LL_FLASH_SECTOR_353:
			case LL_FLASH_SECTOR_354:
			case LL_FLASH_SECTOR_355:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_24);
				}
				break;
			}
			case LL_FLASH_SECTOR_356:
			case LL_FLASH_SECTOR_357:
			case LL_FLASH_SECTOR_358:
			case LL_FLASH_SECTOR_359:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_25);
				}
				break;
			}
			case LL_FLASH_SECTOR_360:
			case LL_FLASH_SECTOR_361:
			case LL_FLASH_SECTOR_362:
			case LL_FLASH_SECTOR_363:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_26);
				}
				break;
			}
			case LL_FLASH_SECTOR_364:
			case LL_FLASH_SECTOR_365:
			case LL_FLASH_SECTOR_366:
			case LL_FLASH_SECTOR_367:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_27);
				}
				break;
			}
			case LL_FLASH_SECTOR_368:
			case LL_FLASH_SECTOR_369:
			case LL_FLASH_SECTOR_370:
			case LL_FLASH_SECTOR_371:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_28);
				}
				break;
			}
			case LL_FLASH_SECTOR_372:
			case LL_FLASH_SECTOR_373:
			case LL_FLASH_SECTOR_374:
			case LL_FLASH_SECTOR_375:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_29);
				}
				break;
			}
			case LL_FLASH_SECTOR_376:
			case LL_FLASH_SECTOR_377:
			case LL_FLASH_SECTOR_378:
			case LL_FLASH_SECTOR_379:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_30);
				}
				break;
			}
			case LL_FLASH_SECTOR_380:
			case LL_FLASH_SECTOR_381:
			case LL_FLASH_SECTOR_382:
			case LL_FLASH_SECTOR_383:
			{
				if (flash_size > 0x20000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK2, LL_REG_BIT_31);
				}
				break;
			}
			case LL_FLASH_SECTOR_384:
			case LL_FLASH_SECTOR_385:
			case LL_FLASH_SECTOR_386:
			case LL_FLASH_SECTOR_387:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_0);
				}
				break;
			}
			case LL_FLASH_SECTOR_388:
			case LL_FLASH_SECTOR_389:
			case LL_FLASH_SECTOR_390:
			case LL_FLASH_SECTOR_391:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_1);
				}
				break;
			}
			case LL_FLASH_SECTOR_392:
			case LL_FLASH_SECTOR_393:
			case LL_FLASH_SECTOR_394:
			case LL_FLASH_SECTOR_395:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_2);
				}
				break;
			}
			case LL_FLASH_SECTOR_396:
			case LL_FLASH_SECTOR_397:
			case LL_FLASH_SECTOR_398:
			case LL_FLASH_SECTOR_399:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_3);
				}
				break;
			}
			case LL_FLASH_SECTOR_400:
			case LL_FLASH_SECTOR_401:
			case LL_FLASH_SECTOR_402:
			case LL_FLASH_SECTOR_403:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_4);
				}
				break;
			}
			case LL_FLASH_SECTOR_404:
			case LL_FLASH_SECTOR_405:
			case LL_FLASH_SECTOR_406:
			case LL_FLASH_SECTOR_407:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_5);
				}
				break;
			}
			case LL_FLASH_SECTOR_408:
			case LL_FLASH_SECTOR_409:
			case LL_FLASH_SECTOR_410:
			case LL_FLASH_SECTOR_411:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_6);
				}
				break;
			}
			case LL_FLASH_SECTOR_412:
			case LL_FLASH_SECTOR_413:
			case LL_FLASH_SECTOR_414:
			case LL_FLASH_SECTOR_415:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_7);
				}
				break;
			}
			case LL_FLASH_SECTOR_416:
			case LL_FLASH_SECTOR_417:
			case LL_FLASH_SECTOR_418:
			case LL_FLASH_SECTOR_419:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_8);
				}
				break;
			}
			case LL_FLASH_SECTOR_420:
			case LL_FLASH_SECTOR_421:
			case LL_FLASH_SECTOR_422:
			case LL_FLASH_SECTOR_423:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_9);
				}
				break;
			}
			case LL_FLASH_SECTOR_424:
			case LL_FLASH_SECTOR_425:
			case LL_FLASH_SECTOR_426:
			case LL_FLASH_SECTOR_427:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_10);
				}
				break;
			}
			case LL_FLASH_SECTOR_428:
			case LL_FLASH_SECTOR_429:
			case LL_FLASH_SECTOR_430:
			case LL_FLASH_SECTOR_431:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_11);
				}
				break;
			}
			case LL_FLASH_SECTOR_432:
			case LL_FLASH_SECTOR_433:
			case LL_FLASH_SECTOR_434:
			case LL_FLASH_SECTOR_435:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_12);
				}
				break;
			}
			case LL_FLASH_SECTOR_436:
			case LL_FLASH_SECTOR_437:
			case LL_FLASH_SECTOR_438:
			case LL_FLASH_SECTOR_439:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_13);
				}
				break;
			}
			case LL_FLASH_SECTOR_440:
			case LL_FLASH_SECTOR_441:
			case LL_FLASH_SECTOR_442:
			case LL_FLASH_SECTOR_443:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_14);
				}
				break;
			}
			case LL_FLASH_SECTOR_444:
			case LL_FLASH_SECTOR_445:
			case LL_FLASH_SECTOR_446:
			case LL_FLASH_SECTOR_447:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_15);
				}
				break;
			}
			case LL_FLASH_SECTOR_448:
			case LL_FLASH_SECTOR_449:
			case LL_FLASH_SECTOR_450:
			case LL_FLASH_SECTOR_451:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_16);
				}
				break;
			}
			case LL_FLASH_SECTOR_452:
			case LL_FLASH_SECTOR_453:
			case LL_FLASH_SECTOR_454:
			case LL_FLASH_SECTOR_455:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_17);
				}
				break;
			}
			case LL_FLASH_SECTOR_456:
			case LL_FLASH_SECTOR_457:
			case LL_FLASH_SECTOR_458:
			case LL_FLASH_SECTOR_459:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_18);
				}
				break;
			}
			case LL_FLASH_SECTOR_460:
			case LL_FLASH_SECTOR_461:
			case LL_FLASH_SECTOR_462:
			case LL_FLASH_SECTOR_463:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_19);
				}
				break;
			}
			case LL_FLASH_SECTOR_464:
			case LL_FLASH_SECTOR_465:
			case LL_FLASH_SECTOR_466:
			case LL_FLASH_SECTOR_467:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_20);
				}
				break;
			}
			case LL_FLASH_SECTOR_468:
			case LL_FLASH_SECTOR_469:
			case LL_FLASH_SECTOR_470:
			case LL_FLASH_SECTOR_471:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_21);
				}
				break;
			}
			case LL_FLASH_SECTOR_472:
			case LL_FLASH_SECTOR_473:
			case LL_FLASH_SECTOR_474:
			case LL_FLASH_SECTOR_475:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_22);
				}
				break;
			}
			case LL_FLASH_SECTOR_476:
			case LL_FLASH_SECTOR_477:
			case LL_FLASH_SECTOR_478:
			case LL_FLASH_SECTOR_479:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_23);
				}
				break;
			}
			case LL_FLASH_SECTOR_480:
			case LL_FLASH_SECTOR_481:
			case LL_FLASH_SECTOR_482:
			case LL_FLASH_SECTOR_483:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_24);
				}
				break;
			}
			case LL_FLASH_SECTOR_484:
			case LL_FLASH_SECTOR_485:
			case LL_FLASH_SECTOR_486:
			case LL_FLASH_SECTOR_487:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_25);
				}
				break;
			}
			case LL_FLASH_SECTOR_488:
			case LL_FLASH_SECTOR_489:
			case LL_FLASH_SECTOR_490:
			case LL_FLASH_SECTOR_491:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_26);
				}
				break;
			}
			case LL_FLASH_SECTOR_492:
			case LL_FLASH_SECTOR_493:
			case LL_FLASH_SECTOR_494:
			case LL_FLASH_SECTOR_495:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_27);
				}
				break;
			}
			case LL_FLASH_SECTOR_496:
			case LL_FLASH_SECTOR_497:
			case LL_FLASH_SECTOR_498:
			case LL_FLASH_SECTOR_499:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_28);
				}
				break;
			}
			case LL_FLASH_SECTOR_500:
			case LL_FLASH_SECTOR_501:
			case LL_FLASH_SECTOR_502:
			case LL_FLASH_SECTOR_503:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_29);
				}
				break;
			}
			case LL_FLASH_SECTOR_504:
			case LL_FLASH_SECTOR_505:
			case LL_FLASH_SECTOR_506:
			case LL_FLASH_SECTOR_507:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_30);
				}
				break;
			}
			case LL_FLASH_SECTOR_508:
			case LL_FLASH_SECTOR_509:
			case LL_FLASH_SECTOR_510:
			case LL_FLASH_SECTOR_511:
			{
				if (flash_size > 0x30000UL)
				{
					LL_FLASH_BYPASS();
					CLEAR_BIT(FLASH->SLOCK3, LL_REG_BIT_31);
				}
				break;
			}
			default:
			{
				LL_FLASH_Lock();
				break;
			}
		}
	}

	///
	//函		数: 
	//功		能: 清除标志位信息
	//输入参	数: 
	//输出参	数: 
	//说		明: 
	//
	static inline void LL_FLASH_ClearFlag(void)
	{
		FLASH->CSR=0x00UL;
	}

	//===函数定义
	void LL_Flash_Init(void);
	void LL_FLASH_SectorUnLockNum(uint32_t num);
	void LL_FLASH_SectorUnLockAddr(uint32_t addr);
	uint8_t LL_FLASH_WaitBusy(uint32_t timeout);
	uint8_t LL_FLASH_ProgramByte(uint32_t addr, uint8_t val);
	uint8_t LL_FLASH_ProgramHalfWord(uint32_t addr, uint16_t val);
	uint8_t LL_FLASH_ProgramWord(uint32_t addr, uint32_t val);
	uint8_t LL_FLASH_SectorErase(uint32_t addr);
	///
#ifdef __cplusplus
}
#endif 

#endif /* HC32L1XX_LL_PCNT_H_ */

#include "hc32l1xx_ll_flash.h"

///
//函		数: 
//功		能: 
//输入参	数: 
//输出参	数: 
//说		明: 
//
void LL_Flash_Init(void)
{
	LL_RCC_TypeDef  rcc_clockx = { 0 };
	float flash_temp = 0.0f;
	uint32_t reg_temp = 0;
	uint32_t reg_val = 0;
	LL_RCC_GetSystemClocks(&rcc_clockx);
	//---计算
	flash_temp = (rcc_clockx.HCLK / 10000);
	flash_temp /= 100.0f;
	reg_temp= (uint32_t)(flash_temp * 8)&FLASH_TNVS;
	//---配置参数
	while (1)
	{
		LL_FLASH_BYPASS();
		FLASH->TNVS = reg_temp;
		//---读取结果
		reg_val = FLASH->TNVS;
		//---校验数据
		if (reg_val==reg_temp)
		{
			//---退出操作
			break;
		}
	}
	reg_temp = (uint32_t)(flash_temp * 5.75)&FLASH_TPGS;
	//---配置参数
	while (1)
	{
		LL_FLASH_BYPASS();
		FLASH->TPGS = reg_temp;
		//---读取结果
		reg_val = FLASH->TPGS;
		//---校验数据
		if (reg_val == reg_temp)
		{
			//---退出操作
			break;
		}
	}
	reg_temp = (uint32_t)(flash_temp * 6.75)&FLASH_TPRGOS;
	//---配置参数
	while (1)
	{
		LL_FLASH_BYPASS();
		FLASH->TPROG = reg_temp;
		//---读取结果
		reg_val = FLASH->TPROG;
		//---校验数据
		if (reg_val == reg_temp)
		{
			//---退出操作
			break;
		}
	}
	reg_temp = (uint32_t)(flash_temp * 4500)&FLASH_TSERASE;
	//---配置参数
	while (1)
	{
		LL_FLASH_BYPASS();
		FLASH->TSERASE = reg_temp;
		//---读取结果
		reg_val = FLASH->TSERASE;
		//---校验数据
		if (reg_val == reg_temp)
		{
			//---退出操作
			break;
		}
	}
	reg_temp = (uint32_t)(flash_temp * 35000)&FLASH_TMERASE;
	//---配置参数
	while (1)
	{
		LL_FLASH_BYPASS();
		FLASH->TMERASE = reg_temp;
		//---读取结果
		reg_val = FLASH->TMERASE;
		//---校验数据
		if (reg_val == reg_temp)
		{
			//---退出操作
			break;
		}
	}

	reg_temp = (uint32_t)(flash_temp * 6)&FLASH_TPRCV;
	//---配置参数
	while (1)
	{
		LL_FLASH_BYPASS();
		FLASH->TPRCV = reg_temp;
		//---读取结果
		reg_val = FLASH->TPRCV;
		//---校验数据
		if (reg_val == reg_temp)
		{
			//---退出操作
			break;
		}
	}
	
	reg_temp = (uint32_t)(flash_temp * 60)&FLASH_TSRCV;
	//---配置参数
	while (1)
	{
		LL_FLASH_BYPASS();
		FLASH->TSRCV = reg_temp;
		//---读取结果
		reg_val = FLASH->TSRCV;
		//---校验数据
		if (reg_val == reg_temp)
		{
			//---退出操作
			break;
		}
	}

	reg_temp = (uint32_t)(flash_temp * 250)&FLASH_TMRCV;
	//---配置参数
	while (1)
	{
		LL_FLASH_BYPASS();
		FLASH->TMRCV = reg_temp;
		//---读取结果
		reg_val = FLASH->TMRCV;
		//---校验数据
		if (reg_val == reg_temp)
		{
			//---退出操作
			break;
		}
	}
}

///
//函		数: 
//功		能: 根据扇区号解锁扇区
//输入参	数: 
//输出参	数: 
//说		明: 
//
void LL_FLASH_SectorUnLockNum(uint32_t num)
{
	uint32_t sector_addr = num * LL_FLASH_SECTOR_SIZE;
	LL_FLASH_UnLock(sector_addr);
}

///
//函		数: 
//功		能: 根据扇区地址解锁扇区
//输入参	数: 
//输出参	数: 
//说		明: 
//
void LL_FLASH_SectorUnLockAddr(uint32_t addr)
{
	LL_FLASH_UnLock(addr);
}

///
//函		数: 
//功		能: 等待Busy信号
//输入参	数: 
//输出参	数: 0---空闲,1,忙且超时错误
//说		明: 
//
uint8_t LL_FLASH_WaitBusy(uint32_t timeout)
{
	uint32_t cnt_temp = timeout;
	//---等待空闲
	while (cnt_temp--)
	{
		//---检查空闲
		if (LL_FLASH_Busy()==0)
		{
			//---空闲退出
			return 0;
		}
	}
	return 1;
}

///
//函		数: 
//功		能: 
//输入参	数: 
//输出参	数: 
//说		明: 
//
uint8_t LL_FLASH_ProgramByte(uint32_t addr, uint8_t val)
{
	uint8_t _return = LL_FLASH_WaitBusy(LL_FLASH_TIMEOUT_PROGRAM);
	//---Flash操作空闲
	if (_return==0)
	{
		//---写入数据
		*((volatile uint8_t*)addr) = val;
		//---等待操作完成
		_return = LL_FLASH_WaitBusy(LL_FLASH_TIMEOUT_PROGRAM);
	}
	return _return;
}

///
//函		数: 
//功		能: 
//输入参	数: 
//输出参	数: 
//说		明: 
//
uint8_t LL_FLASH_ProgramHalfWord(uint32_t addr, uint16_t val)
{
	uint8_t _return = LL_FLASH_WaitBusy(LL_FLASH_TIMEOUT_PROGRAM);
	//---Flash操作空闲
	if (_return == 0)
	{
		//---写入数据
		*((volatile uint16_t*)(addr&0xFFFFFFFE)) = val;
		//---等待操作完成
		_return = LL_FLASH_WaitBusy(LL_FLASH_TIMEOUT_PROGRAM);
	}
	return _return;
}

///
//函		数: 
//功		能: 
//输入参	数: 
//输出参	数: 
//说		明: 
//
uint8_t LL_FLASH_ProgramWord(uint32_t addr, uint32_t val)
{
	uint8_t _return = LL_FLASH_WaitBusy(LL_FLASH_TIMEOUT_PROGRAM);
	//---Flash操作空闲
	if (_return == 0)
	{
		//---写入数据
		*((volatile uint32_t*)(addr & 0xFFFFFFFC)) = val;
		//---等待操作完成
		_return = LL_FLASH_WaitBusy(LL_FLASH_TIMEOUT_PROGRAM);
	}
	return _return;
}

///
//函		数: 
//功		能: 
//输入参	数: 
//输出参	数: 
//说		明: 
//
uint8_t LL_FLASH_SectorErase(uint32_t addr)
{
	uint8_t _return = LL_FLASH_WaitBusy(LL_FLASH_TIMEOUT_ERASE);
	//---校验空闲
	if (_return==0)
	{
		//---将地址拆解为扇区首地址
		addr &= LL_FLASH_SECTOR_MASK;
		//---设置页擦除模式
		LL_FLASH_Enable_SectorErase();
		//---准备擦除,写字节数据,避免地址异常,出现硬件错误
		*((volatile uint8_t*)addr) = 0;
		//---等待操作完成
		_return = LL_FLASH_WaitBusy(LL_FLASH_TIMEOUT_ERASE);
	}
	if (_return==0)
	{
		//---设置读取模式
		LL_FLASH_Enable_Read();
	}
	return _return;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值