Dimitry Kloper
99aab135b2
AVR: Make setting of XDIV optional for platforms that support it
...
Put setting of XDIV into ifdef since not AVR platforms support it.
2015-12-29 18:56:12 +02:00
Dimitry Kloper
462307f4b7
AVR: Clear EIND on system start-up
...
For AVR chips (Atmega2560) Program Counter register larger than 16 bits
EIND represents the most significant byte that is used for EICALL and EIJMP
instructions.
Setting of EIND is normally managed by compiler, but I have seen a situation
when for first 64K flash segment compiler didn't set EINT explicitly. Thus
setting EIND at system startup makes sure we are safe.
2015-12-29 18:46:28 +02:00
Dimitry Kloper
9a4a06bf47
AVR: Explicitly disable interrupts as the first step of system init
...
Disabling interrupts at the very beginning of system init does not
make sense after reset since interrupts are disabled anyway. But
it is very convenient for debugging purposes, in situations when the
system misbehaves and ocassionally jumps to zero.
2015-12-29 18:35:36 +02:00
Dimitry Kloper
ff5e589f76
AVR: add support for TCGETS and TCSETS terminal controls
...
Sometimes I need UART to support binary data transfer, TCSETS/TCGETS allow
stwitching into binary mode.
2015-12-29 17:56:44 +02:00
Gregory Nutt
416e01bbfa
TMS570: Add some placeholders for missing logic; fix some conditional compilation
2015-12-29 09:30:37 -06:00
Dimitry Kloper
d6f6e41a36
AVR: Fix linking error for AVR platforms that have no ARCH_HAVE_LEDS defined
...
Minor bug while working on Arduino Mega support. I didn't add support
for ARCH_HAVE_LEDS and have it undefined in .config. To my surprise compilation
failed since AVR code had a related function compiled in.
2015-12-29 17:26:11 +02:00
Dimitry Kloper
8f8b88f532
AVR: Fix resulting nuttx file name when EXEEXT is not empty
...
arch/avr/Makefile is adding extra EXEEXT to the
nuttix image file. This was not discovered since in most configurations
EXEEXT is empty string.
2015-12-29 17:19:30 +02:00
Gregory Nutt
7a0d6cd7ca
TMS570: Fix an error introduced in last commit
2015-12-29 08:10:16 -06:00
Gregory Nutt
d9737f0645
TMS570: reset stack pointer before calling os_start
2015-12-29 07:56:22 -06:00
Gregory Nutt
e7d7036cb9
ARMv7-R: L2CC_VBASE->L2CC_BASE
2015-12-28 16:32:34 -06:00
Gregory Nutt
ae0e6b4096
ARMv7-R and TMS570: Re-orider some initialization logic. __start used to called arm_boot() which would return. Then __start would call os_start(). That won't work for the TMS570 if is does a destructive memory tested because the return information will be lost in the stack. Also comment a nuisance assertion. The assertion is probably correct but certainly a nuisance during initial testing
2015-12-28 16:15:33 -06:00
Gregory Nutt
00f70474bb
TMS570: Power-up errcheck assertion is a headache
2015-12-28 08:30:03 -06:00
Dimitry Kloper
41bdcd16b8
Change notation of PCH and PCL registers into PC0 and PC1
...
This is for forthcoming Atmega2560 support. The Atmega2560 has 24-bit PC
thus, PCH and PCL would become PCH, PCM and PCL (M for Middle). The problem
that in this notation PCM is equivalent to former PCH. This makes compatable
porting kind of difficult, at least for my taste.
Instead PCH becomes PC0 and PCL becomes PC1 (think of the index as order of
bytes pushed to stack when call is performed, PC0 as MSB goes first, PC1
goes to stack second, and for 24-bit PC, PC2 as LDB goes last).
2015-12-28 00:46:24 +02:00
Gregory Nutt
c3758286d7
TMS570: Add ESM interrupt handler
2015-12-27 08:34:14 -06:00
Gregory Nutt
e0214f9d62
ARMv7-R: Remove some CONFIG_PAGING logic left over from ARMv7-A leverage
2015-12-27 08:32:53 -06:00
Gregory Nutt
e1b1f80237
TMS570: Add ESM initialization logic
2015-12-27 07:54:43 -06:00
Gregory Nutt
6d0650349a
Add support for ARM big-endian toolchains with prefix armeb-
2015-12-26 18:13:01 -06:00
Dimitry Kloper
0c1294d332
Introduce a new Kconfig variant for Atmega2560 and add some basic stuff
...
Modify Kconfig to be aware of the new chip.
Add all the interrupt hanler constants and vectors where needed.
Move contsatnts from generic to specific headers when needed.
2015-12-27 01:47:35 +02:00
Gregory Nutt
46da8a07ef
Costmetic changes from review of merge request
2015-12-26 16:39:51 -06:00
Gregory Nutt
21bdeac349
Merged in kloper/arch/avr_irq_bomb_fix (pull request #45 )
...
AVR: Fix interrupt bombing during a context switch
2015-12-26 16:31:25 -06:00
Gregory Nutt
9bcf27d15b
TMS570 is big-endian
2015-12-26 14:47:54 -06:00
Dimitry Kloper
0998876ef6
AVR: Fix interrupt bombing during a context switch
...
TCB_RESTORE macro has a problem when restoring Status Register
and returning from the function (in up_fullcontextrestore()) as non-atomic action.
If there is some frequently occurring interrupt, chances are that we will
enter the interrupt handler just before ret is called.
The handler may cause a context switch which, when unrolled, will
execute up_fullcontextrestore() function that employs TCB_RESTORE.
It will be interrupted again just before return, leaving part of context
switch content un-popped again, etc... Thus, chances are that the stack will
eventually blow.
Note that this is not some edge condition fix. This bug was discovered when
testing AVR with UART configured to work on 115200 baud rate.
2015-12-26 21:55:40 +02:00
Gregory Nutt
1f2d9c9174
TMS570: Does not have prioritized interrupts in the sense of other CPUs. Fix some compile errors when DEBUG is enabled
2015-12-26 12:26:57 -06:00
Gregory Nutt
d592b2824e
TMS570: A little more selftest logic
2015-12-26 12:05:32 -06:00
Gregory Nutt
a27cd8e54e
TMS570: Add the beginning of some selftest logic
2015-12-26 10:01:53 -06:00
Gregory Nutt
9c1b677bd5
TMS570: Clean up misc. build issues
2015-12-26 08:18:52 -06:00
Gregory Nutt
c58393cb4d
TMS570: Add GIO drivrs and GIO interrupt support
2015-12-25 13:44:49 -06:00
Gregory Nutt
ccc6913383
TMS570: Add definitions to support GIO second level interrupts
2015-12-25 11:43:38 -06:00
Gregory Nutt
f539d331c5
TMS570: A few more GIO definitions
2015-12-25 11:30:08 -06:00
Gregory Nutt
0a936e7fa7
TMS570: More GIO definitions
2015-12-25 11:28:01 -06:00
Gregory Nutt
2563663a45
TMS570: Add GIO header file
2015-12-25 10:39:04 -06:00
Gregory Nutt
be99e773cf
TMS570: Return serial status when a byte is read
2015-12-25 08:47:12 -06:00
Gregory Nutt
6b1f3da01a
TMS570: Don't try building arm_fpuconfig.S for a Cortex-R4
2015-12-24 13:46:49 -06:00
Gregory Nutt
ea1fa2e938
TMS570: SCI serial driver is now included in the build and compiles without error
2015-12-24 13:37:42 -06:00
Gregory Nutt
90cfe8e23b
TMS570: Initalize SCI interrupt handling logic
2015-12-24 12:35:22 -06:00
Gregory Nutt
af1504ec4a
TMS570: Flesh out low-level serial console logic
2015-12-24 11:07:03 -06:00
Gregory Nutt
ba0f5467d0
A few more cosmetic changes
2015-12-24 07:38:17 -06:00
Gregory Nutt
376b35be39
Mostly cosmetic changes from review for conformance to coding standard
2015-12-24 07:35:19 -06:00
pnb
400d06e9ec
fix capture bug
2015-12-24 12:26:39 +01:00
pnb
709c257a43
cosmetic
2015-12-24 09:45:02 +01:00
pnb
097b5820a1
Merge branch 'master' of bitbucket.org:pnb990/nuttx-kernel-arch
2015-12-24 09:42:48 +01:00
pnb
e22d8aea5d
add oter timer
2015-12-24 09:42:33 +01:00
pnb
5f9d23290a
Merge remote-tracking branch 'upstream/master'
2015-12-24 09:21:40 +01:00
Gregory Nutt
7c72f32bbc
TMS570: Add TMS570 SCI driver(s). Initial commits are just SAMV7 drivers with name changes. A lot more needs to be done
2015-12-23 17:48:33 -06:00
Gregory Nutt
1ab3e02ac8
TMS570: Fix a few naming issues leftover from leverage
2015-12-23 16:08:29 -06:00
Gregory Nutt
a76f2b853a
TMS570: Add system timer logic
2015-12-23 13:41:36 -06:00
pnb
cfe9555e24
capture start to works need test it more
2015-12-23 19:07:45 +01:00
Gregory Nutt
fa36531fee
TMS570: Add default VIM channel assignments
2015-12-23 09:45:32 -06:00
Gregory Nutt
6db67471cb
TMS570: Add an RTI header file. Still incomplete on initial commit
2015-12-23 08:18:18 -06:00
Gregory Nutt
663d2b0127
Eliminate a warning due to a range check on an undefined pre-processar variable
2015-12-22 13:20:20 -06:00
pnb
54b275ec09
Merge branch 'master' of bitbucket.org:pnb990/nuttx-kernel-arch
2015-12-22 16:32:19 +01:00
pnb
9cc2119c4e
capture compile
2015-12-22 16:28:19 +01:00
pnb
badc0c2215
Merge remote-tracking branch 'upstream/master'
2015-12-22 13:29:31 +01:00
pnb
0ef3dc81aa
Merge branch 'master' of bitbucket.org:pnb990/nuttx-kernel-arch
2015-12-22 13:28:39 +01:00
pnb
7d244d4d04
Revert "add timer capture STM32"
...
This reverts commit 7a484f4d7665c533998d6893c21b69340038b5fc.
2015-12-22 13:27:42 +01:00
pnb
764c9ea887
Revert "used DEFINE instead of setcapturecfg function to set filter and prescaler of input capture"
...
This reverts commit 08600d05eb12cb4f62280766b7f780e8eaa2284b.
2015-12-22 13:27:35 +01:00
pnb
573462e355
Revert "continue capture integration"
...
This reverts commit c0b6ba73d59dc973d6984bce12ff4a20d870de2a.
2015-12-22 13:27:00 +01:00
pnb
406bc5e67e
continue capture
2015-12-22 13:26:22 +01:00
Gregory Nutt
3e4fb7a60d
Merged in paulpatience/nuttx-arch/stm32_adc (pull request #42 )
...
STM32 ADC: Add DMA support for STM32F30xxx
2015-12-22 05:45:10 -06:00
pnb
f88e62c8e9
continue capture
2015-12-22 12:21:03 +01:00
Paul A. Patience
754a4ddb98
STM32 ADC: Add DMA support for STM32F30xxx
2015-12-22 03:42:37 -05:00
Gregory Nutt
d7af5b234c
Fix an error in pre-processor condition
2015-12-21 21:36:34 -06:00
Gregory Nutt
860a2fc786
TMS570: Add interrupt decode logic
2015-12-21 12:17:26 -06:00
Gregory Nutt
092c681157
TMS570: Add a little more IRQ/FIQ logic
2015-12-21 10:57:01 -06:00
Lok Tep
74c4f4636a
adc initerrupts
2015-12-21 17:23:07 +01:00
Gregory Nutt
caad954b01
TMS570: Add VIM header file
2015-12-21 07:40:27 -06:00
Gregory Nutt
010a73d3b6
TMS570: A little more selftest structure
2015-12-20 17:55:21 -06:00
Gregory Nutt
a2fb50d812
TMS570: Add a framework that will eventually support self-test
2015-12-20 11:51:36 -06:00
Gregory Nutt
2629053bbe
TMS570: Add pin multiplexing logic
2015-12-20 10:14:51 -06:00
pnb
510dc7872d
Merge remote-tracking branch 'upstream/master'
2015-12-20 13:00:17 +01:00
pnb
2f78c0c1bc
continue capture integration
2015-12-20 12:54:21 +01:00
Gregory Nutt
b69c91a8a8
TMS570: Add empty, stub interrupt initialization logic
2015-12-19 19:06:30 -06:00
Gregory Nutt
63d5032d3b
TMS4570: Was not building arm_head.S or up_allocateheap.c; ARMv7-R: Fix variious problems not that arm_head.S is being built
2015-12-19 18:56:23 -06:00
Gregory Nutt
4d99e2b0e6
TMS570: Add FLASH wait state configuration
2015-12-19 16:33:39 -06:00
Gregory Nutt
c9c473997c
TMS570: Add ECLK setup
2015-12-19 15:56:00 -06:00
Gregory Nutt
d7595446bf
TMS570: More clock configuration logic
2015-12-19 13:15:26 -06:00
Gregory Nutt
2bd1be6c96
TMS570: Use values from TI OTP to set LPO trim value
2015-12-19 11:40:38 -06:00
Gregory Nutt
fac00f04d0
TMS570: Add a FLASH controller header file
2015-12-19 09:01:24 -06:00
Gregory Nutt
1ddabf9ff1
TMS570: Add peripheral initialization logic
2015-12-19 08:10:21 -06:00
Gregory Nutt
3a6aa75d15
TMS570: Initial PBIST register definitions
2015-12-18 20:36:06 -06:00
Gregory Nutt
834c2baf40
TMS570: Add SCI header file
2015-12-18 19:52:08 -06:00
Gregory Nutt
727f0f47d6
Merged in paulpatience/nuttx-arch/stm32_pwm (pull request #40 )
...
STM32 PWM: Fix timer type bug
2015-12-18 18:47:41 -06:00
Gregory Nutt
50205b4342
TMS570: Add some basic PLL configuration logic
2015-12-18 18:24:53 -06:00
Gregory Nutt
aa524024d0
Add a few more TMS570 SYS register bit definitions
2015-12-18 11:15:16 -06:00
Gregory Nutt
0403132800
TMS570: Add selftest configuration option; Add a few more SYS register definitions
2015-12-18 09:09:58 -06:00
Gregory Nutt
d4b7bf59d0
TMS570: More start-up logic
2015-12-18 08:57:29 -06:00
Gregory Nutt
f55ff3a3c5
TMS570: Add PBIST header file
2015-12-18 06:55:43 -06:00
Gregory Nutt
e7b48d264b
TMS570: Separate SYS register definitions into SYS, STS2, and PCR
2015-12-18 06:39:19 -06:00
Gregory Nutt
1ff36b19e8
TMS570: Misc, minor updates
2015-12-17 15:31:58 -06:00
Gregory Nutt
0405ac92a2
TMS570: Add SYS register definitions (incomplete)
2015-12-17 15:30:54 -06:00
Gregory Nutt
4bdc22d7e2
TMS570: Eliminate some warnings
2015-12-17 12:57:48 -06:00
Gregory Nutt
0f7f364865
TMS570: Correct a few problems introduced in previous commits
2015-12-17 12:52:15 -06:00
Gregory Nutt
6baccab3ae
Need to select MEMINIT if TMS570 selected
2015-12-17 12:40:24 -06:00
Gregory Nutt
3f964ab20c
SR4 is the same as SR1-3
2015-12-17 12:28:45 -06:00
Gregory Nutt
add1754dcc
TMS570: Add ESM header file
2015-12-17 12:17:48 -06:00
Gregory Nutt
cd0baf490f
Fix Kconfig: BOOT_SDRAM_DATA, not CONFIG_BOOT_SDRAM_DATA
2015-12-17 10:50:53 -06:00
Gregory Nutt
c251fd7756
ARMv7-R: Add a configuration to support delayed memory initialization. This logic was already in place for SDRAM but is also required for some ECC memories as well.
2015-12-17 10:49:56 -06:00
Gregory Nutt
9364824a53
ARMv7-R: Add logic to work-around errata, remove logic to access VBAR since this is no VBAR and add logic to access PMCR. TMS570: Add logic to set debug bits in PMCR
2015-12-17 09:34:38 -06:00
pnb
e25bc48d01
used DEFINE instead of setcapturecfg function to set filter and prescaler of input capture
2015-12-16 23:42:43 +01:00
pnb
701c386299
add timer capture STM32
2015-12-16 21:39:51 +01:00
Gregory Nutt
5794675247
TMS570: Memory map applies only to LS04x and LS03x. Peripheral numbering seems to start with 1, not 0
2015-12-16 14:10:45 -06:00
Gregory Nutt
9f9cb00104
TMS570: Remove some garbage left in Kconfig file
2015-12-16 12:46:42 -06:00
Gregory Nutt
f310887bb9
TMS570: Add memory map and peripheral selection logic
2015-12-16 11:06:14 -06:00
Gregory Nutt
521ae00387
Merge remote-tracking branch 'origin/master' into armv7r
2015-12-16 09:03:55 -06:00
Gregory Nutt
bacf7cf07e
ARMv7-R: fix some issues to get a clean compilation; TMS570: Add enough logic to support a minimum build. Not much there on the initial commit
2015-12-16 09:03:14 -06:00
Gregory Nutt
aa1e67ffe7
Merge remote-tracking branch 'origin/master' into armv7r
2015-12-15 17:16:02 -06:00
Gregory Nutt
8cabb844ab
TMS570: Hook into build/configuration system
2015-12-15 17:15:37 -06:00
Gregory Nutt
1cd73ec861
Merged in paulpatience/nuttx-arch/stm32_qencoder (pull request #41 )
...
STM32 QEncoder: Add support for STM32F30xxx
2015-12-15 14:13:44 -06:00
Gregory Nutt
a6e035baeb
TMS570: Add arch/arm/include/tms570 header files
2015-12-15 13:41:12 -06:00
Paul A. Patience
377d29f1a1
STM32 QEncoder: Add support for STM32F30xxx
2015-12-15 12:13:37 -05:00
Gregory Nutt
26883fc7b9
Merged in paulpatience/nuttx-arch/stm32_tim (pull request #39 )
...
STM32 TIM: Remove some warnings, fix timer resolution bug and cosmetic changes
2015-12-14 16:59:51 -06:00
Gregory Nutt
8fb76cf970
TMS570: Add a place holder for the TMS570. Not much there yet
2015-12-14 16:38:05 -06:00
Paul A. Patience
b7e8e1fb99
STM32 TIM: Remove some warnings, fix timer resolution bug and cosmetic changes
2015-12-14 17:24:11 -05:00
Paul A. Patience
7274084540
STM32 PWM: Fix timer type bug
2015-12-14 17:21:55 -05:00
Gregory Nutt
c1933a0814
Merge remote-tracking branch 'origin/master' into armv7r
2015-12-14 15:44:12 -06:00
Gregory Nutt
1169ff6dbd
MPU: Add support for separated vs. unified MPU
2015-12-14 15:41:18 -06:00
Gregory Nutt
b3502af042
ARMv7-M: Add MPU support
2015-12-14 15:38:58 -06:00
Gregory Nutt
290e5058ea
Merge remote-tracking branch 'origin/master' into armv7r
2015-12-14 13:58:08 -06:00
Gregory Nutt
dfec6a0dd0
Rename CONFIG_ARMV7M_MPU to CONFIG_ARM_MPU so that we can reuse the configuration settings for the ARMV7R MPU
2015-12-14 13:56:21 -06:00
Gregory Nutt
09f79919b5
ARMv7-R: Review/update CPSR bit definitions
2015-12-14 13:19:22 -06:00
Gregory Nutt
3f5d4fc136
Merge remote-tracking branch 'origin/master' into armv7r
2015-12-14 13:04:47 -06:00
Gregory Nutt
1f05f49e66
ARMv7-A: Update some co-processor register naming
2015-12-14 13:04:03 -06:00
Gregory Nutt
39cace15a1
Update CP15 access macros
2015-12-14 13:02:54 -06:00
Gregory Nutt
7475712d87
ARMv7-R: Review/update cache operations
2015-12-14 12:32:32 -06:00
Gregory Nutt
c1e14b0a6b
Merge remote-tracking branch 'origin/master' into armv7r
2015-12-14 11:57:10 -06:00
Gregory Nutt
6e9aa0a1d7
ARMv7-A/M: Cosmetic changes
2015-12-14 11:56:39 -06:00
Gregory Nutt
b9feaf13b0
Update ARMv7-R system control register definitions from TRM
2015-12-14 11:54:58 -06:00
Gregory Nutt
cbc2f226c0
Merged in paulpatience/nuttx-arch/stm32_pinmap (pull request #38 )
...
STM32: Fix typos in pinmaps
2015-12-14 08:59:47 -06:00
Gregory Nutt
b7024fd202
Merged in paulpatience/nuttx-arch/stm32f30xxx_pinmap (pull request #37 )
...
STM32: Fix typos in STM32F30xxx pinmap
2015-12-14 08:58:34 -06:00
Gregory Nutt
67604e661f
Merge remote-tracking branch 'origin/master' into armv7r
2015-12-14 08:43:29 -06:00
Gregory Nutt
edecfc2dac
ARMv7-A: Cosmetic changes
2015-12-14 08:42:39 -06:00
Paul A. Patience
89da1f27dd
STM32: Fix typos in pinmaps
2015-12-14 09:41:49 -05:00
Gregory Nutt
5585f44b7e
Add initial support for ARMv7-R architecture. Initial commit is largely a clone of ARMv7-A and needs further review
2015-12-14 08:40:38 -06:00
Paul A. Patience
7589e940b6
STM32: Fix typos in STM32F30xxx pinmap
2015-12-14 09:36:28 -05:00
Gregory Nutt
cd8d37f46b
Eliminate a warning
2015-12-12 11:37:25 -06:00
Gregory Nutt
412c7c83a1
Forgot to add a file in the last commit
2015-12-12 09:37:01 -06:00
Gregory Nutt
daea1e614b
All architectures need to build ELF support if either CONFIG_ELF or CONFIG_MODULE are selected. Cortex-M7 also must support module cache corherence
2015-12-12 09:35:05 -06:00
Gregory Nutt
ead6656a35
SAMV7 USBHS device: Beef up test for data sent in DMA complete interrupt handler
2015-12-11 08:28:49 -06:00
Gregory Nutt
cb5c221ce7
Update a few comments
2015-12-10 06:32:27 -06:00
Gregory Nutt
a0594ec60e
SAMV7 USBHS device: Last change fixed certain problems and introduced some new ones. Here is an untested fix to address all known problems
2015-12-09 14:19:14 -06:00
Gregory Nutt
c26a624a9f
SAMA5: Backport some USB device ZLP logic from the SAMV7
2015-12-08 17:36:46 -06:00
Gregory Nutt
9135afa8c1
SAMV7 USBHS device: End of DMA is too soon to process ZLP. Wait for TXINI
2015-12-08 13:21:43 -06:00
Gregory Nutt
cd7c22bbd4
SAMV7: Trivial correcto to last USBHS device change when using huge request buffers
2015-12-08 11:10:16 -06:00
Gregory Nutt
19520b5c2c
SAMV7 USBHS device: Fix check if zero lenght packet is needed
2015-12-08 10:11:44 -06:00
Lok Tep
1481537f8c
config B option, reverted
2015-12-08 09:27:23 +01:00
Lok Tep
6c872c3162
ssp in pin buffer fix
2015-12-07 23:13:14 +01:00
Lok Tep
8ddb2a6a2a
ssp buffer check fix
2015-12-07 23:12:57 +01:00
Lok Tep
264fbc1ecc
CONFIG_I2C_RESET dummy function
2015-12-07 23:12:40 +01:00
Gregory Nutt
927b1dcc1f
Initialize the telnet factory as part of the common architecture intialization
2015-12-07 11:40:29 -06:00
Gregory Nutt
8df99623aa
SAMV7: For to add RSWDT driver before committing
2015-12-06 16:41:10 -06:00