comparison packages/hal/arm/lpc2xxx/var/current/cdl/hal_arm_lpc2xxx.cdl @ 2714:615dc33ccc6c

* include/lpc2xxx_iap.h, src/lpc2xxx_iap.c, tests/iap_test.c: New files: support for IAP (In Application Programming) interface and small test case for hal_lpc2xxx_iap_call(). * cdl/hal_arm_lpc2xxx.cdl: CYGINT_HAL_ARM_LPC2XXX_IAP_CALL interface and CYGPKG_HAL_ARM_LPC2XXX_TESTS option added.
author jlarmour
date Thu, 15 Jan 2009 03:40:47 +0000
parents db4d5a0ddeb4
children 74dbf4c3f2e1
comparison
equal deleted inserted replaced
2713:360689a2c1c5 2714:615dc33ccc6c
278 into one single slot and the ISR need to find out which interrupt 278 into one single slot and the ISR need to find out which interrupt
279 occured. The default value for the system clock interrupts is 0 - 279 occured. The default value for the system clock interrupts is 0 -
280 this is the highest priority IRQ." 280 this is the highest priority IRQ."
281 } 281 }
282 282
283 cdl_interface CYGINT_HAL_ARM_LPC2XXX_IAP_CALL {
284 display "Interface to manage IAP call"
285 }
286
287 cdl_component CYGBLD_BUILD_HAL_LPC2XXX_WITH_IAP_CALL {
288 display "IAP (In Application Programming) interface"
289 flavor bool
290 default_value 1
291 compile lpc2xxx_iap.c
292 implements CYGINT_HAL_ARM_LPC2XXX_IAP_CALL
293
294 cdl_option CYGNUM_HAL_ARM_LPC2XXX_IAP_CALL_SAFE {
295 display "Disable interrupts during IAP call"
296 flavor bool
297 default_value 1
298 description "
299 In most cases IAP calls uses itself to manage on-chip
300 flash memory. LPC2XXX on-chip flash memory is not
301 accessible during erase and write operations. The
302 user should either disable interrupts, or ensure that
303 user interrupt vectors are active in RAM and that
304 the interrupt handlers reside in RAM, before making a
305 flash erase/write IAP call. The IAP code does not use
306 or disable interrupts. This option disable interrupts
307 by default during IAP call (for safety)."
308 }
309
310 cdl_option CYGFUN_HAL_ARM_LPC2XXX_IAP_CALL_WRAP {
311 display "Wrap for IAP call enabled"
312 flavor bool
313 active_if { CYGDAT_HAL_ARM_LPC2XXX_IAP_PRE_CALL || \
314 CYGDAT_HAL_ARM_LPC2XXX_IAP_POST_CALL }
315 calculated 1
316 description "
317 This option controls whether IAP call will be wrapped by
318 custom helpers. E.g., IAP flash programming call takes
319 ~ 1 ms per 512 byte line. Single sector or full chip
320 erase takes 400 mS. This can be quite enougth to fire a
321 hardware watchdog. You still can manage it using own pre-
322 and (or) post-calls."
323 }
324
325 # void (*precall)(void)
326 cdl_option CYGDAT_HAL_ARM_LPC2XXX_IAP_PRE_CALL {
327 display "Use custom IAP pre-call"
328 flavor booldata
329 default_value 0
330 description "
331 If enabled, this option will tell IAP call to use the
332 value of this option as a custom pre-call."
333 }
334
335 # void (*postcall)(void)
336 cdl_option CYGDAT_HAL_ARM_LPC2XXX_IAP_POST_CALL {
337 display "Use custom IAP post-call"
338 flavor booldata
339 default_value 0
340 description "
341 If enabled, this option will tell IAP call to use the
342 value of this option as a custom post-call."
343 }
344 }
345
346 cdl_option CYGPKG_HAL_ARM_LPC2XXX_TESTS {
347 display "LPC2XXX HAL tests"
348 flavor data
349 no_define
350 calculated { "tests/iap_test" }
351 description "
352 This option specifies the set of tests for the LPC2XXX HAL."
353 }
354
283 } 355 }