mirror of
https://github.com/ThrowTheSwitch/CMock.git
synced 2026-08-14 07:07:49 +00:00
- Moved all peripheral register set definitions into the processor include file for consistency.
git-svn-id: http://cmock.svn.sourceforge.net/svnroot/cmock/trunk@38 bf332499-1b4d-0410-844d-d2d48d5cc64c
This commit is contained in:
@@ -2464,22 +2464,34 @@ typedef struct _AT91S_ADC {
|
||||
|
||||
#ifdef TEST
|
||||
extern AT91S_AIC AicPeripheral;
|
||||
#define AT91C_BASE_AIC ((AT91PS_AIC) &AicPeripheral) // (AIC) Base Address
|
||||
#define AT91C_BASE_AIC ((AT91PS_AIC) &AicPeripheral)
|
||||
#else
|
||||
#define AT91C_BASE_AIC ((AT91PS_AIC) 0xFFFFF000) // (AIC) Base Address
|
||||
#endif
|
||||
#define AT91C_BASE_AIC ((AT91PS_AIC) 0xFFFFF000) // (AIC) Base Address
|
||||
#endif // TEST
|
||||
|
||||
#define AT91C_BASE_PDC_DBGU ((AT91PS_PDC) 0xFFFFF300) // (PDC_DBGU) Base Address
|
||||
#define AT91C_BASE_DBGU ((AT91PS_DBGU) 0xFFFFF200) // (DBGU) Base Address
|
||||
|
||||
#ifdef TEST
|
||||
extern AT91S_PIO PioAPeripheral;
|
||||
#define AT91C_BASE_PIOA ((AT91PS_PIO) &PioAPeripheral)
|
||||
#else
|
||||
#define AT91C_BASE_PIOA ((AT91PS_PIO) 0xFFFFF400) // (PIOA) Base Address
|
||||
#endif // TEST
|
||||
|
||||
#ifdef TEST
|
||||
extern AT91S_PIO PioBPeripheral;
|
||||
#define AT91C_BASE_PIOB ((AT91PS_PIO) &PioBPeripheral)
|
||||
#else
|
||||
#define AT91C_BASE_PIOB ((AT91PS_PIO) 0xFFFFF600) // (PIOB) Base Address
|
||||
#endif // TEST
|
||||
|
||||
#ifdef TEST
|
||||
extern AT91S_PMC PmcPeripheral;
|
||||
#define AT91C_BASE_PMC ((AT91PS_PMC) &PmcPeripheral) // (PMC) Base Address
|
||||
#define AT91C_BASE_PMC ((AT91PS_PMC) &PmcPeripheral)
|
||||
#else
|
||||
#define AT91C_BASE_PMC ((AT91PS_PMC) 0xFFFFFC00) // (PMC) Base Address
|
||||
#endif
|
||||
#define AT91C_BASE_PMC ((AT91PS_PMC) 0xFFFFFC00) // (PMC) Base Address
|
||||
#endif // TEST
|
||||
|
||||
#define AT91C_BASE_CKGR ((AT91PS_CKGR) 0xFFFFFC20) // (CKGR) Base Address
|
||||
#define AT91C_BASE_RSTC ((AT91PS_RSTC) 0xFFFFFD00) // (RSTC) Base Address
|
||||
@@ -2495,7 +2507,14 @@ extern AT91S_PMC PmcPeripheral;
|
||||
#define AT91C_BASE_PDC_US1 ((AT91PS_PDC) 0xFFFC4100) // (PDC_US1) Base Address
|
||||
#define AT91C_BASE_US1 ((AT91PS_USART) 0xFFFC4000) // (US1) Base Address
|
||||
#define AT91C_BASE_PDC_US0 ((AT91PS_PDC) 0xFFFC0100) // (PDC_US0) Base Address
|
||||
|
||||
#ifdef TEST
|
||||
extern AT91S_USART Usart0Peripheral;
|
||||
#define AT91C_BASE_US0 ((AT91PS_USART) &Usart0Peripheral)
|
||||
#else
|
||||
#define AT91C_BASE_US0 ((AT91PS_USART) 0xFFFC0000) // (US0) Base Address
|
||||
#endif // TEST
|
||||
|
||||
#define AT91C_BASE_PDC_SSC ((AT91PS_PDC) 0xFFFD4100) // (PDC_SSC) Base Address
|
||||
#define AT91C_BASE_SSC ((AT91PS_SSC) 0xFFFD4000) // (SSC) Base Address
|
||||
#define AT91C_BASE_TWI ((AT91PS_TWI) 0xFFFB8000) // (TWI) Base Address
|
||||
@@ -2505,7 +2524,14 @@ extern AT91S_PMC PmcPeripheral;
|
||||
#define AT91C_BASE_PWMC_CH0 ((AT91PS_PWMC_CH) 0xFFFCC200) // (PWMC_CH0) Base Address
|
||||
#define AT91C_BASE_PWMC ((AT91PS_PWMC) 0xFFFCC000) // (PWMC) Base Address
|
||||
#define AT91C_BASE_UDP ((AT91PS_UDP) 0xFFFB0000) // (UDP) Base Address
|
||||
|
||||
#ifdef TEST
|
||||
extern AT91S_TC TimerCounter0Peripheral;
|
||||
#define AT91C_BASE_TC0 ((AT91PS_TC) &TimerCounter0Peripheral)
|
||||
#else
|
||||
#define AT91C_BASE_TC0 ((AT91PS_TC) 0xFFFA0000) // (TC0) Base Address
|
||||
#endif // TEST
|
||||
|
||||
#define AT91C_BASE_TC1 ((AT91PS_TC) 0xFFFA0040) // (TC1) Base Address
|
||||
#define AT91C_BASE_TC2 ((AT91PS_TC) 0xFFFA0080) // (TC2) Base Address
|
||||
#define AT91C_BASE_TCB ((AT91PS_TCB) 0xFFFA0000) // (TCB) Base Address
|
||||
|
||||
@@ -10,30 +10,30 @@ void Timer_EnablePeripheralClocks(void)
|
||||
void Timer_Reset(void)
|
||||
{
|
||||
uint32 dummy;
|
||||
TIMER0_BASE->TC_CCR = AT91C_TC_CLKDIS;
|
||||
TIMER0_BASE->TC_IDR = 0xffffffff;
|
||||
dummy = TIMER0_BASE->TC_SR;
|
||||
AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKDIS;
|
||||
AT91C_BASE_TC0->TC_IDR = 0xffffffff;
|
||||
dummy = AT91C_BASE_TC0->TC_SR;
|
||||
dummy = dummy;
|
||||
}
|
||||
|
||||
void Timer_ConfigureMode(void)
|
||||
{
|
||||
TIMER0_BASE->TC_CMR = 0x000CC004; // ACPC=toggle TIOA on RC compare; mode=WAVE; WAVE_SEL=UP w/auto-trigger on RC compare; clock=MCK/1024
|
||||
AT91C_BASE_TC0->TC_CMR = 0x000CC004; // ACPC=toggle TIOA on RC compare; mode=WAVE; WAVE_SEL=UP w/auto-trigger on RC compare; clock=MCK/1024
|
||||
}
|
||||
|
||||
void Timer_ConfigurePeriod(void)
|
||||
{
|
||||
TIMER0_BASE->TC_RC = 469; // 10ms period for timer clock source of MCK/1024 with MCK=48054857
|
||||
AT91C_BASE_TC0->TC_RC = 469; // 10ms period for timer clock source of MCK/1024 with MCK=48054857
|
||||
}
|
||||
|
||||
void Timer_EnableOutputPin(void)
|
||||
{
|
||||
PIOB_BASE->PIO_PDR = TIOA0_PIN_MASK;
|
||||
AT91C_BASE_PIOB->PIO_PDR = TIOA0_PIN_MASK;
|
||||
}
|
||||
|
||||
void Timer_Enable(void)
|
||||
{
|
||||
TIMER0_BASE->TC_CCR = AT91C_TC_CLKEN;
|
||||
AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKEN;
|
||||
}
|
||||
|
||||
void Timer_ConfigureInterruptHandler(void)
|
||||
@@ -46,6 +46,6 @@ void Timer_ConfigureInterruptHandler(void)
|
||||
|
||||
void Timer_Start(void)
|
||||
{
|
||||
TIMER0_BASE->TC_CCR = AT91C_TC_SWTRG;
|
||||
AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,5 +51,5 @@ static inline void ClearInterrupt(void)
|
||||
|
||||
static inline void EnableCompareInterruptForRegisterC(void)
|
||||
{
|
||||
TIMER0_BASE->TC_IER = AT91C_TC_CPCS;
|
||||
AT91C_BASE_TC0->TC_IER = AT91C_TC_CPCS;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ __monitor uint32 Timer_GetSystemTime(void)
|
||||
|
||||
void Timer_InterruptHandler(void)
|
||||
{
|
||||
uint32 status = TIMER0_BASE->TC_SR;
|
||||
uint32 status = AT91C_BASE_TC0->TC_SR;
|
||||
if (status & AT91C_TC_CPCS)
|
||||
{
|
||||
systemTime += 10;
|
||||
|
||||
+3
-61
@@ -8,68 +8,12 @@
|
||||
#endif
|
||||
|
||||
// Peripheral Helper Definitions
|
||||
|
||||
//#define USART_DEBUG
|
||||
#define USART_0
|
||||
|
||||
// Debug USART
|
||||
#ifdef USART_DEBUG
|
||||
#define USART_CLOCK_ENABLE (AT91C_ID_SYS)
|
||||
#define USART_TX_PIN (AT91C_PA28_DTXD)
|
||||
#ifdef TEST
|
||||
extern AT91S_USART UsartPeripheral;
|
||||
#define USART_BASE ((AT91PS_USART) &UsartPeripheral)
|
||||
#else
|
||||
#define USART_BASE ((AT91PS_USART) AT91C_BASE_DBGU)
|
||||
#endif // TEST
|
||||
#endif // USART_DEBUG
|
||||
|
||||
|
||||
// USART 0
|
||||
#ifdef USART_0
|
||||
#define USART_CLOCK_ENABLE (AT91C_ID_US0)
|
||||
#define USART_TX_PIN (AT91C_PA1_TXD0)
|
||||
#ifdef TEST
|
||||
extern AT91S_USART UsartPeripheral;
|
||||
#define USART_BASE ((AT91PS_USART) &UsartPeripheral)
|
||||
#else
|
||||
#define USART_BASE ((AT91PS_USART) AT91C_BASE_US0)
|
||||
#endif // TEST
|
||||
#endif // USART_0
|
||||
|
||||
|
||||
// Timer/Counter 0
|
||||
#define USART0_CLOCK_ENABLE (AT91C_ID_US0)
|
||||
#define USART0_TX_PIN (AT91C_PA1_TXD0)
|
||||
#define TIMER0_CLOCK_ENABLE (((uint32)0x1) << AT91C_ID_TC0)
|
||||
#ifdef TEST
|
||||
extern AT91S_TC Timer0Peripheral;
|
||||
#define TIMER0_BASE ((AT91PS_TC) &Timer0Peripheral)
|
||||
#else
|
||||
#define TIMER0_BASE ((AT91PS_TC) AT91C_BASE_TC0)
|
||||
#endif // TEST
|
||||
|
||||
|
||||
// Parallel I/O Bank A
|
||||
#define PIOA_CLOCK_ENABLE (((uint32)0x1) << AT91C_ID_PIOA)
|
||||
#ifdef TEST
|
||||
extern AT91S_PIO PioAPeripheral;
|
||||
#define PIOA_BASE ((AT91PS_PIO) &PioAPeripheral)
|
||||
#else
|
||||
#define PIOA_BASE ((AT91PS_PIO) AT91C_BASE_PIOA)
|
||||
#endif // TEST
|
||||
|
||||
|
||||
// Parallel I/O Bank B
|
||||
#define PIOB_CLOCK_ENABLE (((uint32)0x1) << AT91C_ID_PIOB)
|
||||
#ifdef TEST
|
||||
extern AT91S_PIO PioBPeripheral;
|
||||
#define PIOB_BASE ((AT91PS_PIO) &PioBPeripheral)
|
||||
#else
|
||||
#define PIOB_BASE ((AT91PS_PIO) AT91C_BASE_PIOB)
|
||||
#endif // TEST
|
||||
|
||||
// Timer/Counter Output Pin Assignment
|
||||
#define TIOA0_PIN_MASK (((uint32)0x1) << 23)
|
||||
|
||||
#define TIOA0_PIN_MASK (((uint32)0x1) << 23) // Timer/Counter Output Pin
|
||||
|
||||
// Application Type Definitions
|
||||
typedef unsigned int uint32;
|
||||
@@ -80,7 +24,6 @@ typedef unsigned char uint8;
|
||||
typedef char int8;
|
||||
typedef char bool;
|
||||
|
||||
|
||||
// Application Special Value Definitions
|
||||
#ifndef TRUE
|
||||
#define TRUE (1)
|
||||
@@ -93,7 +36,6 @@ typedef char bool;
|
||||
#endif // NULL
|
||||
#define DONT_CARE (0)
|
||||
|
||||
|
||||
// MIN/MAX Definitions for Standard Types
|
||||
#define INT8_MAX 127
|
||||
#define INT8_MIN (-128)
|
||||
|
||||
@@ -3,25 +3,25 @@
|
||||
|
||||
void Usart_ConfigureUsartIO(void)
|
||||
{
|
||||
PIOA_BASE->PIO_ASR = USART_TX_PIN;
|
||||
PIOA_BASE->PIO_BSR = 0;
|
||||
PIOA_BASE->PIO_PDR = USART_TX_PIN;
|
||||
AT91C_BASE_PIOA->PIO_ASR = USART0_TX_PIN;
|
||||
AT91C_BASE_PIOA->PIO_BSR = 0;
|
||||
AT91C_BASE_PIOA->PIO_PDR = USART0_TX_PIN;
|
||||
}
|
||||
|
||||
void Usart_EnablePeripheralClock(void)
|
||||
{
|
||||
AT91C_BASE_PMC->PMC_PCER = ((uint32)1) << USART_CLOCK_ENABLE;
|
||||
AT91C_BASE_PMC->PMC_PCER = ((uint32)1) << USART0_CLOCK_ENABLE;
|
||||
}
|
||||
|
||||
void Usart_Reset(void)
|
||||
{
|
||||
USART_BASE->US_IDR = 0xffffffff;
|
||||
USART_BASE->US_CR = AT91C_US_RSTRX | AT91C_US_RSTTX | AT91C_US_RXDIS | AT91C_US_TXDIS;
|
||||
AT91C_BASE_US0->US_IDR = 0xffffffff;
|
||||
AT91C_BASE_US0->US_CR = AT91C_US_RSTRX | AT91C_US_RSTTX | AT91C_US_RXDIS | AT91C_US_TXDIS;
|
||||
}
|
||||
|
||||
void Usart_ConfigureMode(void)
|
||||
{
|
||||
USART_BASE->US_MR = AT91C_US_USMODE_NORMAL |
|
||||
AT91C_BASE_US0->US_MR = AT91C_US_USMODE_NORMAL |
|
||||
AT91C_US_NBSTOP_1_BIT |
|
||||
AT91C_US_PAR_NONE |
|
||||
AT91C_US_CHRL_8_BITS |
|
||||
@@ -30,10 +30,10 @@ void Usart_ConfigureMode(void)
|
||||
|
||||
void Usart_SetBaudRateRegister(uint8 baudRateRegisterSetting)
|
||||
{
|
||||
USART_BASE->US_BRGR = baudRateRegisterSetting;
|
||||
AT91C_BASE_US0->US_BRGR = baudRateRegisterSetting;
|
||||
}
|
||||
|
||||
void Usart_Enable(void)
|
||||
{
|
||||
USART_BASE->US_CR = AT91C_US_TXEN;
|
||||
AT91C_BASE_US0->US_CR = AT91C_US_TXEN;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ void Usart_PutChar(char data)
|
||||
#ifdef SIMULATE
|
||||
printf("%c", data);
|
||||
#else
|
||||
USART_BASE->US_THR = data;
|
||||
AT91C_BASE_US0->US_THR = data;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
|
||||
bool Usart_ReadyToTransmit(void)
|
||||
{
|
||||
return (USART_BASE->US_CSR & AT91C_US_TXRDY) > 0;
|
||||
return (AT91C_BASE_US0->US_CSR & AT91C_US_TXRDY) > 0;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "MockTimerInterruptConfigurator.h"
|
||||
|
||||
AT91S_PMC PmcPeripheral;
|
||||
AT91S_TC Timer0Peripheral;
|
||||
AT91S_TC TimerCounter0Peripheral;
|
||||
AT91S_PIO PioBPeripheral;
|
||||
|
||||
void setUp(void)
|
||||
@@ -36,62 +36,62 @@ void testEnablePeripheralClocksShouldEnableClockToPIOBPeripheral(void)
|
||||
|
||||
void testResetShouldSetTimer0ClockDisableBit_DisableTimer0Interrupts_ClearStatusRegister(void)
|
||||
{
|
||||
TIMER0_BASE->TC_CCR = 0;
|
||||
TIMER0_BASE->TC_IDR = 0;
|
||||
TIMER0_BASE->TC_SR = 0xFFFFFFFF;
|
||||
AT91C_BASE_TC0->TC_CCR = 0;
|
||||
AT91C_BASE_TC0->TC_IDR = 0;
|
||||
AT91C_BASE_TC0->TC_SR = 0xFFFFFFFF;
|
||||
Timer_Reset();
|
||||
TEST_ASSERT_EQUAL(0x00000002, TIMER0_BASE->TC_CCR);
|
||||
TEST_ASSERT_EQUAL(0xffffffff, TIMER0_BASE->TC_IDR);
|
||||
// CANNOT BE VERIFIED!! TEST_ASSERT_EQUAL(0X00000000, TIMER0_BASE->TC_SR);
|
||||
TEST_ASSERT_EQUAL(0x00000002, AT91C_BASE_TC0->TC_CCR);
|
||||
TEST_ASSERT_EQUAL(0xffffffff, AT91C_BASE_TC0->TC_IDR);
|
||||
// CANNOT BE VERIFIED!! TEST_ASSERT_EQUAL(0X00000000, AT91C_BASE_TC0->TC_SR);
|
||||
}
|
||||
|
||||
void testEnableOutputPinShouldEnable_TIOA0_DigitalOutput(void)
|
||||
{
|
||||
PIOB_BASE->PIO_PDR = 0;
|
||||
AT91C_BASE_PIOB->PIO_PDR = 0;
|
||||
Timer_EnableOutputPin();
|
||||
TEST_ASSERT_EQUAL(TIOA0_PIN_MASK, PIOB_BASE->PIO_PDR);
|
||||
TEST_ASSERT_EQUAL(TIOA0_PIN_MASK, AT91C_BASE_PIOB->PIO_PDR);
|
||||
}
|
||||
|
||||
void testConfigureModeShouldConfigureTimer0ClockSourceForMasterClockDividedBy1024(void)
|
||||
{
|
||||
TIMER0_BASE->TC_CMR = 0;
|
||||
AT91C_BASE_TC0->TC_CMR = 0;
|
||||
Timer_ConfigureMode();
|
||||
TEST_ASSERT_EQUAL(0x00000004, TIMER0_BASE->TC_CMR & 0x00000007);
|
||||
TEST_ASSERT_EQUAL(0x00000004, AT91C_BASE_TC0->TC_CMR & 0x00000007);
|
||||
}
|
||||
|
||||
void testConfigureModeShouldConfigureTimer0ForWaveGeneration(void)
|
||||
{
|
||||
TIMER0_BASE->TC_CMR = 0;
|
||||
AT91C_BASE_TC0->TC_CMR = 0;
|
||||
Timer_ConfigureMode();
|
||||
TEST_ASSERT_EQUAL(0x00008000, TIMER0_BASE->TC_CMR & 0x00008000);
|
||||
TEST_ASSERT_EQUAL(0x00008000, AT91C_BASE_TC0->TC_CMR & 0x00008000);
|
||||
}
|
||||
|
||||
void testConfigureModeShouldConfigureTimer0ForUpModeWithAutomaticTriggerOnRCCompare(void)
|
||||
{
|
||||
TIMER0_BASE->TC_CMR = 0;
|
||||
AT91C_BASE_TC0->TC_CMR = 0;
|
||||
Timer_ConfigureMode();
|
||||
TEST_ASSERT_EQUAL(0x00004000, TIMER0_BASE->TC_CMR & 0x00006000);
|
||||
TEST_ASSERT_EQUAL(0x00004000, AT91C_BASE_TC0->TC_CMR & 0x00006000);
|
||||
}
|
||||
|
||||
void testConfigureModeShouldConfigureTimer0ToToggleTIOAOnRCCompare(void)
|
||||
{
|
||||
TIMER0_BASE->TC_CMR = 0;
|
||||
AT91C_BASE_TC0->TC_CMR = 0;
|
||||
Timer_ConfigureMode();
|
||||
TEST_ASSERT_EQUAL(0x000C0000, TIMER0_BASE->TC_CMR & 0x000C0000);
|
||||
TEST_ASSERT_EQUAL(0x000C0000, AT91C_BASE_TC0->TC_CMR & 0x000C0000);
|
||||
}
|
||||
|
||||
void testConfigurePeriodShouldConfigureRegisterCFor10msInterval(void)
|
||||
{
|
||||
TIMER0_BASE->TC_RC = 0;
|
||||
AT91C_BASE_TC0->TC_RC = 0;
|
||||
Timer_ConfigurePeriod();
|
||||
TEST_ASSERT_EQUAL(469, TIMER0_BASE->TC_RC);
|
||||
TEST_ASSERT_EQUAL(469, AT91C_BASE_TC0->TC_RC);
|
||||
}
|
||||
|
||||
void testEnableShouldSetEnableFlagForTimer0(void)
|
||||
{
|
||||
TIMER0_BASE->TC_CCR = 0;
|
||||
AT91C_BASE_TC0->TC_CCR = 0;
|
||||
Timer_Enable();
|
||||
TEST_ASSERT_EQUAL_INT(1, TIMER0_BASE->TC_CCR);
|
||||
TEST_ASSERT_EQUAL_INT(1, AT91C_BASE_TC0->TC_CCR);
|
||||
}
|
||||
|
||||
void testConfigureInterruptHandler(void)
|
||||
@@ -106,7 +106,7 @@ void testConfigureInterruptHandler(void)
|
||||
|
||||
void testStartShouldSetSoftwareTriggerFlag(void)
|
||||
{
|
||||
TIMER0_BASE->TC_CCR = 0;
|
||||
AT91C_BASE_TC0->TC_CCR = 0;
|
||||
Timer_Start();
|
||||
TEST_ASSERT_EQUAL(0x04, TIMER0_BASE->TC_CCR);
|
||||
TEST_ASSERT_EQUAL(0x04, AT91C_BASE_TC0->TC_CCR);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "AT91SAM7X256.h"
|
||||
|
||||
AT91S_AIC AicPeripheral;
|
||||
AT91S_TC Timer0Peripheral;
|
||||
AT91S_TC TimerCounter0Peripheral;
|
||||
|
||||
void setUp(void)
|
||||
{
|
||||
@@ -65,9 +65,9 @@ void testConfigureInterruptShouldClearTimer0InterruptOnTheInterruptController(vo
|
||||
|
||||
void testConfigureInterruptShouldEnableCompareInterruptForRegisterC(void)
|
||||
{
|
||||
TIMER0_BASE->TC_IER = 0;
|
||||
AT91C_BASE_TC0->TC_IER = 0;
|
||||
Timer_ConfigureInterrupt();
|
||||
TEST_ASSERT_EQUAL(AT91C_TC_CPCS, TIMER0_BASE->TC_IER);
|
||||
TEST_ASSERT_EQUAL(AT91C_TC_CPCS, AT91C_BASE_TC0->TC_IER);
|
||||
}
|
||||
|
||||
void testEnableInterruptShouldEnableTimer0InterruptsInInterruptCotroller(void)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "TimerInterruptHandler.h"
|
||||
#include "AT91SAM7X256.h"
|
||||
|
||||
AT91S_TC Timer0Peripheral;
|
||||
AT91S_TC TimerCounter0Peripheral;
|
||||
|
||||
void setUp(void)
|
||||
{
|
||||
@@ -28,22 +28,22 @@ void testSetAndGetSystemTime(void)
|
||||
void testInterruptHandlerShouldIncrementSystemTimeOnlyIfStatusHasCompareRegisterCOverflowBitSet(void)
|
||||
{
|
||||
Timer_SetSystemTime(0);
|
||||
TIMER0_BASE->TC_SR = 0;
|
||||
AT91C_BASE_TC0->TC_SR = 0;
|
||||
Timer_InterruptHandler();
|
||||
TEST_ASSERT_EQUAL(0, Timer_GetSystemTime());
|
||||
|
||||
Timer_SetSystemTime(0);
|
||||
TIMER0_BASE->TC_SR = ~AT91C_TC_CPCS;
|
||||
AT91C_BASE_TC0->TC_SR = ~AT91C_TC_CPCS;
|
||||
Timer_InterruptHandler();
|
||||
TEST_ASSERT_EQUAL(0, Timer_GetSystemTime());
|
||||
|
||||
Timer_SetSystemTime(0);
|
||||
TIMER0_BASE->TC_SR = AT91C_TC_CPCS;
|
||||
AT91C_BASE_TC0->TC_SR = AT91C_TC_CPCS;
|
||||
Timer_InterruptHandler();
|
||||
TEST_ASSERT(Timer_GetSystemTime() > 0);
|
||||
|
||||
Timer_SetSystemTime(0);
|
||||
TIMER0_BASE->TC_SR = 0xffffffff;
|
||||
AT91C_BASE_TC0->TC_SR = 0xffffffff;
|
||||
Timer_InterruptHandler();
|
||||
TEST_ASSERT(Timer_GetSystemTime() > 0);
|
||||
}
|
||||
@@ -51,16 +51,16 @@ void testInterruptHandlerShouldIncrementSystemTimeOnlyIfStatusHasCompareRegister
|
||||
void testInterruptHandlerShouldIncrementSystemTimerBy_10(void)
|
||||
{
|
||||
Timer_SetSystemTime(0);
|
||||
TIMER0_BASE->TC_SR = AT91C_TC_CPCS;
|
||||
AT91C_BASE_TC0->TC_SR = AT91C_TC_CPCS;
|
||||
Timer_InterruptHandler();
|
||||
TEST_ASSERT_EQUAL(10, Timer_GetSystemTime());
|
||||
|
||||
TIMER0_BASE->TC_SR = AT91C_TC_CPCS;
|
||||
AT91C_BASE_TC0->TC_SR = AT91C_TC_CPCS;
|
||||
Timer_InterruptHandler();
|
||||
TEST_ASSERT_EQUAL(20, Timer_GetSystemTime());
|
||||
|
||||
Timer_SetSystemTime(39426857);
|
||||
TIMER0_BASE->TC_SR = AT91C_TC_CPCS;
|
||||
AT91C_BASE_TC0->TC_SR = AT91C_TC_CPCS;
|
||||
Timer_InterruptHandler();
|
||||
TEST_ASSERT_EQUAL(39426867, Timer_GetSystemTime());
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
AT91S_PIO PioAPeripheral;
|
||||
AT91S_PMC PmcPeripheral;
|
||||
AT91S_USART UsartPeripheral;
|
||||
AT91S_USART Usart0Peripheral;
|
||||
|
||||
void setUp(void)
|
||||
{
|
||||
@@ -16,34 +16,34 @@ void tearDown(void)
|
||||
|
||||
void testConfigureUsartIOShouldConfigureUsartTxPinfForPeripheralIO(void)
|
||||
{
|
||||
PIOA_BASE->PIO_ASR = 0;
|
||||
PIOA_BASE->PIO_BSR = 0xffffffff;
|
||||
PIOA_BASE->PIO_PDR = 0;
|
||||
AT91C_BASE_PIOA->PIO_ASR = 0;
|
||||
AT91C_BASE_PIOA->PIO_BSR = 0xffffffff;
|
||||
AT91C_BASE_PIOA->PIO_PDR = 0;
|
||||
Usart_ConfigureUsartIO();
|
||||
TEST_ASSERT_EQUAL(USART_TX_PIN, PIOA_BASE->PIO_ASR);
|
||||
TEST_ASSERT_EQUAL(0, PIOA_BASE->PIO_BSR);
|
||||
TEST_ASSERT_EQUAL(USART_TX_PIN, PIOA_BASE->PIO_PDR);
|
||||
TEST_ASSERT_EQUAL(USART0_TX_PIN, AT91C_BASE_PIOA->PIO_ASR);
|
||||
TEST_ASSERT_EQUAL(0, AT91C_BASE_PIOA->PIO_BSR);
|
||||
TEST_ASSERT_EQUAL(USART0_TX_PIN, AT91C_BASE_PIOA->PIO_PDR);
|
||||
}
|
||||
|
||||
void testEnablePeripheralClockShouldEnableClockToUsartPeripheral(void)
|
||||
{
|
||||
AT91C_BASE_PMC->PMC_PCER = 0;
|
||||
Usart_EnablePeripheralClock();
|
||||
TEST_ASSERT_EQUAL(((uint32)1) << USART_CLOCK_ENABLE, AT91C_BASE_PMC->PMC_PCER);
|
||||
TEST_ASSERT_EQUAL(((uint32)1) << USART0_CLOCK_ENABLE, AT91C_BASE_PMC->PMC_PCER);
|
||||
}
|
||||
|
||||
void testResetShouldDisableAllUsartInterrupts(void)
|
||||
{
|
||||
USART_BASE->US_IDR = 0;
|
||||
AT91C_BASE_US0->US_IDR = 0;
|
||||
Usart_Reset();
|
||||
TEST_ASSERT_EQUAL(0xffffffff, USART_BASE->US_IDR);
|
||||
TEST_ASSERT_EQUAL(0xffffffff, AT91C_BASE_US0->US_IDR);
|
||||
}
|
||||
|
||||
void testResetShouldResetUsartTransmitterAndReceiver(void)
|
||||
{
|
||||
USART_BASE->US_CR = 0;
|
||||
AT91C_BASE_US0->US_CR = 0;
|
||||
Usart_Reset();
|
||||
TEST_ASSERT_EQUAL(AT91C_US_RSTRX | AT91C_US_RSTTX | AT91C_US_RXDIS | AT91C_US_TXDIS, USART_BASE->US_CR);
|
||||
TEST_ASSERT_EQUAL(AT91C_US_RSTRX | AT91C_US_RSTTX | AT91C_US_RXDIS | AT91C_US_TXDIS, AT91C_BASE_US0->US_CR);
|
||||
}
|
||||
|
||||
void testConfigureModeShouldSetUsartModeToAsynchronous(void)
|
||||
@@ -54,24 +54,24 @@ void testConfigureModeShouldSetUsartModeToAsynchronous(void)
|
||||
AT91C_US_CHRL_8_BITS |
|
||||
AT91C_US_CLKS_CLOCK);
|
||||
|
||||
USART_BASE->US_MR = ~asyncMode;
|
||||
AT91C_BASE_US0->US_MR = ~asyncMode;
|
||||
Usart_ConfigureMode();
|
||||
TEST_ASSERT_EQUAL(asyncMode, USART_BASE->US_MR);
|
||||
TEST_ASSERT_EQUAL(asyncMode, AT91C_BASE_US0->US_MR);
|
||||
}
|
||||
|
||||
void testSetBaudRateRegisterShouldSetUsartBaudRateRegisterToValuePassedAsParameter(void)
|
||||
{
|
||||
USART_BASE->US_BRGR = 0;
|
||||
AT91C_BASE_US0->US_BRGR = 0;
|
||||
Usart_SetBaudRateRegister(3);
|
||||
TEST_ASSERT_EQUAL(3, USART_BASE->US_BRGR);
|
||||
TEST_ASSERT_EQUAL(3, AT91C_BASE_US0->US_BRGR);
|
||||
Usart_SetBaudRateRegister(251);
|
||||
TEST_ASSERT_EQUAL(251, USART_BASE->US_BRGR);
|
||||
TEST_ASSERT_EQUAL(251, AT91C_BASE_US0->US_BRGR);
|
||||
}
|
||||
|
||||
|
||||
void testEnableShouldEnableUsart0Transmitter(void)
|
||||
{
|
||||
USART_BASE->US_CR = 0;
|
||||
AT91C_BASE_US0->US_CR = 0;
|
||||
Usart_Enable();
|
||||
TEST_ASSERT_EQUAL(AT91C_US_TXEN, USART_BASE->US_CR);
|
||||
TEST_ASSERT_EQUAL(AT91C_US_TXEN, AT91C_BASE_US0->US_CR);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "UsartPutChar.h"
|
||||
#include "MockUsartTransmitBufferStatus.h"
|
||||
|
||||
AT91S_USART UsartPeripheral;
|
||||
AT91S_USART Usart0Peripheral;
|
||||
|
||||
void setUp(void)
|
||||
{
|
||||
@@ -15,29 +15,29 @@ void tearDown(void)
|
||||
|
||||
void testPutCharShouldWriteDesiredCharacterToUsartTransmitBuffer(void)
|
||||
{
|
||||
USART_BASE->US_THR = 0;
|
||||
AT91C_BASE_US0->US_THR = 0;
|
||||
|
||||
Usart_ReadyToTransmit_ExpectAndReturn(TRUE);
|
||||
Usart_PutChar('x');
|
||||
TEST_ASSERT_EQUAL('x', USART_BASE->US_THR);
|
||||
TEST_ASSERT_EQUAL('x', AT91C_BASE_US0->US_THR);
|
||||
|
||||
Usart_ReadyToTransmit_ExpectAndReturn(TRUE);
|
||||
Usart_PutChar('1');
|
||||
TEST_ASSERT_EQUAL('1', USART_BASE->US_THR);
|
||||
TEST_ASSERT_EQUAL('1', AT91C_BASE_US0->US_THR);
|
||||
|
||||
Usart_ReadyToTransmit_ExpectAndReturn(TRUE);
|
||||
Usart_PutChar(':');
|
||||
TEST_ASSERT_EQUAL(':', USART_BASE->US_THR);
|
||||
TEST_ASSERT_EQUAL(':', AT91C_BASE_US0->US_THR);
|
||||
}
|
||||
|
||||
void testPutCharShouldWaitUntilReadyToTransmitBeforeLoadingTransmitBufffer(void)
|
||||
{
|
||||
USART_BASE->US_THR = 0;
|
||||
AT91C_BASE_US0->US_THR = 0;
|
||||
|
||||
Usart_ReadyToTransmit_ExpectAndReturn(FALSE);
|
||||
Usart_ReadyToTransmit_ExpectAndReturn(FALSE);
|
||||
Usart_ReadyToTransmit_ExpectAndReturn(FALSE);
|
||||
Usart_ReadyToTransmit_ExpectAndReturn(TRUE);
|
||||
Usart_PutChar('x');
|
||||
TEST_ASSERT_EQUAL('x', USART_BASE->US_THR);
|
||||
TEST_ASSERT_EQUAL('x', AT91C_BASE_US0->US_THR);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include "Types.h"
|
||||
#include "UsartTransmitBufferStatus.h"
|
||||
|
||||
AT91S_USART UsartPeripheral;
|
||||
AT91S_USART Usart0Peripheral;
|
||||
|
||||
void setUp(void)
|
||||
{
|
||||
@@ -14,9 +14,9 @@ void tearDown(void)
|
||||
|
||||
void testReadyToTransmitShouldReturnStatusPerTransmitBufferReadyStatus(void)
|
||||
{
|
||||
USART_BASE->US_CSR = 0;
|
||||
AT91C_BASE_US0->US_CSR = 0;
|
||||
TEST_ASSERT(!Usart_ReadyToTransmit());
|
||||
|
||||
USART_BASE->US_CSR = AT91C_US_TXRDY;
|
||||
AT91C_BASE_US0->US_CSR = AT91C_US_TXRDY;
|
||||
TEST_ASSERT(Usart_ReadyToTransmit());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user