Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "embiosapp.h"
- void main();
- EMBIOS_APP_HEADER("Test application", 0x4000, main, 127)
- void main()
- {
- /* Switch to FASTBUS mode => GCLK = HCLK */
- asm volatile(
- "mrc p15, 0, r0,c1,c0 \n\t"
- "bic r0, r0, #0xc0000000 \n\t"
- "mcr p15, 0, r0,c1,c0 \n\t"
- ::: "r0"
- );
- /* PCLK = HCLK */
- *((uint32_t volatile*)0x3c50003c) &= ~0x200;
- /* FCLK_CPU = OFF, HCLK = PLL0 / 4 */
- *((uint32_t volatile*)0x3c500000) = ((*((uint32_t volatile*)0x3c500000)) & ~0xFF00FF00) | 0x80003300;
- long oldtime = read_usec_timer();
- int i;
- for (i = 0; i < 1000; i++) displaylcd(0, 175, 0, 131, NULL, 0);
- long newtime = read_usec_timer();
- /* FCLK_CPU = PLL0, HCLK = PLL0 / 2 */
- *((uint32_t volatile*)0x3c500000) = ((*((uint32_t volatile*)0x3c500000)) & ~0xFF00FF00) | 0x20003100;
- /* PCLK = HCLK / 2 */
- *((uint32_t volatile*)0x3c50003c) |= 0x200;
- /* Switch to ASYNCHRONOUS mode => GCLK = FCLK_CPU */
- asm volatile(
- "mrc p15, 0, r0,c1,c0 \n\t"
- "orr r0, r0, #0xc0000000 \n\t"
- "mcr p15, 0, r0,c1,c0 \n\t"
- ::: "r0"
- );
- cprintf(3, "Needed %d usecs for %d frames\n", newtime - oldtime, i);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement