- 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:
greg-williams
2008-11-07 18:38:06 +00:00
parent b7d9479954
commit ce521a6d78
14 changed files with 119 additions and 151 deletions
+32 -6
View File
@@ -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
+8 -8
View File
@@ -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;
}
+1 -1
View File
@@ -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;
}
+1 -1
View File
@@ -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
View File
@@ -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)
+9 -9
View File
@@ -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;
}
+1 -1
View File
@@ -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
}
+1 -1
View File
@@ -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;
}
+23 -23
View File
@@ -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)
+8 -8
View File
@@ -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());
}
+19 -19
View File
@@ -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);
}
+7 -7
View File
@@ -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());
}