Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cpu: lpc2387: provide periph/* implementations, update to use newlib module. #3530

Merged
merged 10 commits into from
Aug 17, 2015

Conversation

kaspar030
Copy link
Contributor

Our poor lpc2387-based boards are suffering heavy legacitis. This PR tries to cure them.

It includes GPIO, SPI and UART-implementations for lpc2387 and updates the architecture to our shared newlib module.

Heavily tested on msba2, unfortunately I don't have avsextreme or pttu boards.

This drops legacy cc110x and ltc4150 support.

edit waiting for #3620.

@kaspar030 kaspar030 added Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation Platform: ARM Platform: This PR/issue effects ARM-based platforms Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation labels Jul 30, 2015
@kaspar030 kaspar030 mentioned this pull request Jul 30, 2015
10 tasks
@OlegHahm
Copy link
Member

OlegHahm commented Aug 2, 2015

Nice one! Will try to test ASAP with avsextrem and PTTU. Ping me if I forget to do so.

@kaspar030
Copy link
Contributor Author

@OlegHahm ping

@OlegHahm
Copy link
Member

OlegHahm commented Aug 5, 2015

How do I test GPIO?

@kaspar030
Copy link
Contributor Author

I looked for an unused GPIO pin in the spec sheet and a short cable and connected the pin to +5v for the interrupt tests. for output, use a voltmeter between the pin and ground. (all using tests/periph_gpio).

@@ -1,3 +1,4 @@
FEATURES_PROVIDED += transceiver
FEATURES_PROVIDED += periph_gpio
FEATURES_PROVIDED += periph_rtc
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+= periph_spi ?!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@OlegHahm
Copy link
Member

OlegHahm commented Aug 5, 2015

GPIO seems to work.

@haukepetersen
Copy link
Contributor

Looks good to me, everything I tried did also work (for msba2 and avsextrem). Although it's not 100% clean yet, I think it's a good step in the right direction -> so ACK when Travis is happy.

@haukepetersen haukepetersen added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Aug 5, 2015
@haukepetersen
Copy link
Contributor

Travis is failing to stuff related to the old network stack -> so let's wait until #3334 is merged an run Travis again!

@kaspar030
Copy link
Contributor Author

  • rebased
  • squashed
  • fixed doxygen warnings

@kaspar030 kaspar030 added the State: waiting for other PR State: The PR requires another PR to be merged first label Aug 6, 2015
@kaspar030
Copy link
Contributor Author

(accidentaly removed radio_packet_length define, so this PR now depends on #3334)

@haukepetersen
Copy link
Contributor

everything depends on #3334 :-)

@OlegHahm
Copy link
Member

OlegHahm commented Aug 6, 2015

#3334 is history

@kaspar030 kaspar030 removed the State: waiting for other PR State: The PR requires another PR to be merged first label Aug 6, 2015
@kaspar030
Copy link
Contributor Author

I had to refactor the arm7 newlib support. Now only lpc2387-based devices are using the newlib module, the only other arm7 board, redbee-econotag, is using the cpu-specific newlibs.

@haukepetersen Does your ACK hold?

@kaspar030
Copy link
Contributor Author

@haukepetersen ping

@haukepetersen
Copy link
Contributor

Testing now

}
#endif

// Power
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

c-style comments...

@kaspar030 kaspar030 removed the State: waiting for other PR State: The PR requires another PR to be merged first label Aug 14, 2015
@kaspar030 kaspar030 mentioned this pull request Aug 14, 2015
7 tasks
@kaspar030
Copy link
Contributor Author

  • moved newlib changes from arm7_common to just lpc2387

@haukepetersen does your ACK hold? travis is happy...

@kaspar030
Copy link
Contributor Author

@haukepetersen Don't go to holidays without merging this! ;)

@haukepetersen
Copy link
Contributor

Looking good -> ACK and go.

haukepetersen added a commit that referenced this pull request Aug 17, 2015
cpu: lpc2387: provide periph/* implementations, update to use newlib module.
@haukepetersen haukepetersen merged commit 3922b6c into RIOT-OS:master Aug 17, 2015
@OlegHahm
Copy link
Member

🙌

@kaspar030 kaspar030 deleted the update_msba2 branch August 17, 2015 21:02
@kaspar030
Copy link
Contributor Author

nice. Thanks for reviewing!

gschorcht added a commit to gschorcht/RIOT-Xtensa-ESP that referenced this pull request Feb 3, 2019
Replaces the special heap command approach of the lpc_common module with a more general heap command approach. Module lpc_common was already removed with PR RIOT-OS#2118. PR RIOT-OS#2118 integrated cpu/lpc_common code in cpu/lpc2387. With PR RIOT-OS#3530 special heap handling for cpu/lpc2387 was replaced by newlib memory management which uses _sbrk_r to allocate chunks from the heap. _sbrk_r uses _sheap and _eheap symbols that are defined in lpc2387.ld and can be used together with mallinfo function for heap statistics.
gschorcht added a commit to gschorcht/RIOT-Xtensa-ESP that referenced this pull request Feb 5, 2019
Replaces the special heap command approach of the lpc_common module with a more general heap command approach. Module lpc_common was already removed with PR RIOT-OS#2118. PR RIOT-OS#2118 integrated cpu/lpc_common code in cpu/lpc2387. With PR RIOT-OS#3530 special heap handling for cpu/lpc2387 was replaced by newlib memory management which uses _sbrk_r to allocate chunks from the heap. _sbrk_r uses _sheap and _eheap symbols that are defined in lpc2387.ld and can be used together with mallinfo function for heap statistics.
gschorcht added a commit to gschorcht/RIOT-Xtensa-ESP that referenced this pull request Feb 6, 2019
Replaces the special heap command approach of the lpc_common module with a more general heap command approach. Module lpc_common was already removed with PR RIOT-OS#2118. PR RIOT-OS#2118 integrated cpu/lpc_common code in cpu/lpc2387. With PR RIOT-OS#3530 special heap handling for cpu/lpc2387 was replaced by newlib memory management which uses _sbrk_r to allocate chunks from the heap. _sbrk_r uses _sheap and _eheap symbols that are defined in lpc2387.ld and can be used together with mallinfo function for heap statistics.
gschorcht added a commit to gschorcht/RIOT-Xtensa-ESP that referenced this pull request Feb 6, 2019
Replaces the special heap command approach of the lpc_common module with a more general heap command approach. Module lpc_common was already removed with PR RIOT-OS#2118. PR RIOT-OS#2118 integrated cpu/lpc_common code in cpu/lpc2387. With PR RIOT-OS#3530 special heap handling for cpu/lpc2387 was replaced by newlib memory management which uses _sbrk_r to allocate chunks from the heap. _sbrk_r uses _sheap and _eheap symbols that are defined in lpc2387.ld and can be used together with mallinfo function for heap statistics.
gschorcht added a commit to gschorcht/RIOT-Xtensa-ESP that referenced this pull request Apr 15, 2019
Replaces the special heap command approach of the lpc_common module with a more general heap command approach. Module lpc_common was already removed with PR RIOT-OS#2118. PR RIOT-OS#2118 integrated cpu/lpc_common code in cpu/lpc2387. With PR RIOT-OS#3530 special heap handling for cpu/lpc2387 was replaced by newlib memory management which uses _sbrk_r to allocate chunks from the heap. _sbrk_r uses _sheap and _eheap symbols that are defined in lpc2387.ld and can be used together with mallinfo function for heap statistics.
gschorcht added a commit to gschorcht/RIOT-Xtensa-ESP that referenced this pull request Sep 5, 2019
Replaces the special heap command approach of the lpc_common module with a more general heap command approach. Module lpc_common was already removed with PR RIOT-OS#2118. PR RIOT-OS#2118 integrated cpu/lpc_common code in cpu/lpc2387. With PR RIOT-OS#3530 special heap handling for cpu/lpc2387 was replaced by newlib memory management which uses _sbrk_r to allocate chunks from the heap. _sbrk_r uses _sheap and _eheap symbols that are defined in lpc2387.ld and can be used together with mallinfo function for heap statistics.
gschorcht added a commit to gschorcht/RIOT-Xtensa-ESP that referenced this pull request Sep 5, 2019
Replaces the special heap command approach of the lpc_common module with a more general heap command approach. Module lpc_common was already removed with PR RIOT-OS#2118. PR RIOT-OS#2118 integrated cpu/lpc_common code in cpu/lpc2387. With PR RIOT-OS#3530 special heap handling for cpu/lpc2387 was replaced by newlib memory management which uses _sbrk_r to allocate chunks from the heap. _sbrk_r uses _sheap and _eheap symbols that are defined in lpc2387.ld and can be used together with mallinfo function for heap statistics.
gdoffe pushed a commit to gdoffe/RIOT that referenced this pull request Dec 17, 2019
Replaces the special heap command approach of the lpc_common module with a more general heap command approach. Module lpc_common was already removed with PR RIOT-OS#2118. PR RIOT-OS#2118 integrated cpu/lpc_common code in cpu/lpc2387. With PR RIOT-OS#3530 special heap handling for cpu/lpc2387 was replaced by newlib memory management which uses _sbrk_r to allocate chunks from the heap. _sbrk_r uses _sheap and _eheap symbols that are defined in lpc2387.ld and can be used together with mallinfo function for heap statistics.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: ARM Platform: This PR/issue effects ARM-based platforms Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants