mirror of https://github.com/ARMmbed/mbed-os.git
Merge branch 'master' of https://github.com/matthewelse/mbed
commit
1781d58249
|
@ -25,9 +25,6 @@ void wait_ms(int ms) {
|
|||
}
|
||||
|
||||
void wait_us(int us) {
|
||||
printf("Here!\r\n");
|
||||
uint32_t start = us_ticker_read();
|
||||
printf("next\r\n");
|
||||
while ((us_ticker_read() - start) < us);
|
||||
printf("End\r\n");
|
||||
}
|
||||
|
|
|
@ -31,25 +31,19 @@
|
|||
#define NVIC_RAM_VECTOR_ADDRESS (0x10000000) // Vectors positioned at start of RAM
|
||||
|
||||
void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {
|
||||
printf("X\r\n");
|
||||
int i;
|
||||
printf("0a\r\n");
|
||||
// Space for dynamic vectors, initialised to allocate in R/W
|
||||
static volatile uint32_t* vectors = (uint32_t*)NVIC_RAM_VECTOR_ADDRESS;
|
||||
printf("1a\r\n");
|
||||
|
||||
// Copy and switch to dynamic vectors if first time called
|
||||
if((LPC_SYSCON->SYSMEMREMAP & 0x3) != 0x1) {
|
||||
printf("2a\r\n");
|
||||
uint32_t *old_vectors = (uint32_t *)0; // FLASH vectors are at 0x0
|
||||
printf("Old_vectors: %i\r\n", old_vectors);
|
||||
for(i = 0; i < NVIC_NUM_VECTORS; i++) {
|
||||
printf("3a\r\n");
|
||||
vectors[i] = old_vectors[i];
|
||||
}
|
||||
printf("4a\r\n");
|
||||
LPC_SYSCON->SYSMEMREMAP = 0x1; // Remaps 0x0-0x1FF FLASH block to RAM block
|
||||
}
|
||||
printf("5a\r\n");
|
||||
|
||||
// Set the vector
|
||||
vectors[IRQn + 16] = vector;
|
||||
}
|
||||
|
|
|
@ -23,26 +23,19 @@
|
|||
int us_ticker_inited = 0;
|
||||
|
||||
void us_ticker_init(void) {
|
||||
printf("0\r\n");
|
||||
|
||||
if (us_ticker_inited) return;
|
||||
us_ticker_inited = 1;
|
||||
|
||||
printf("1\r\n");
|
||||
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<10); // Clock TIMER_1
|
||||
printf("2\r\n");
|
||||
uint32_t PCLK = SystemCoreClock;
|
||||
printf("3\r\n");
|
||||
|
||||
US_TICKER_TIMER->TCR = 0x2; // reset
|
||||
printf("4\r\n");
|
||||
|
||||
uint32_t prescale = PCLK / 1000000; // default to 1MHz (1 us ticks)
|
||||
printf("5\r\n");
|
||||
US_TICKER_TIMER->PR = prescale - 1;
|
||||
printf("6\r\n");
|
||||
US_TICKER_TIMER->TCR = 1; // enable = 1, reset = 0
|
||||
printf("7\r\n");
|
||||
|
||||
NVIC_SetVector(US_TICKER_TIMER_IRQn, (uint32_t)us_ticker_irq_handler);
|
||||
printf("8\r\n");
|
||||
NVIC_EnableIRQ(US_TICKER_TIMER_IRQn);
|
||||
}
|
||||
|
||||
|
@ -50,8 +43,6 @@ uint32_t us_ticker_read() {
|
|||
if (!us_ticker_inited)
|
||||
us_ticker_init();
|
||||
|
||||
printf("Hello!!!\r\n");
|
||||
|
||||
return US_TICKER_TIMER->TC;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue