Content-Length: 268037 | pFad | http://github.com/swift-embedded/swift-embedded/issues/2

DB Thanks · Issue #2 · swift-embedded/swift-embedded · GitHub
Skip to content

Thanks #2

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

Open
vshymanskyy opened this issue Jan 12, 2020 · 6 comments
Open

Thanks #2

vshymanskyy opened this issue Jan 12, 2020 · 6 comments

Comments

@vshymanskyy
Copy link

vshymanskyy commented Jan 12, 2020

Thanks for releasing.
Was looking for it just yesterday! ^_^

Regarding code size, is it possible to apply tree-shaking?

@dragomirecky
Copy link
Member

Hey @vshymanskyy,

happy to hear that :). Good question re tree-shaking – I believe that tree-shaking (coming from JS world) is essentially the same as what --gc-section does. --gc-section is a linker's flag which makes the linker remove all sections unreachable from the executable's entry point (well, simply said). Unfortunately, Swift's executable contains sections with runtime metadata, which ties everything up, and the linker can't remove much then.

If you want to read more about it, feel free to checkout section 2.5 in my thesis. That section is dedicated to code-size reduction and specifically section 2.5.6 is dedicated to using --gc-sections 🙂.

@flocked
Copy link

flocked commented Jan 14, 2020

Also thanks from my side :)

Having support for Teensy 4.0 in the future would be great as its next to Arduino (where I can't find a board with 2048KiB min.) one of the most used embedded boards.

@joaqo
Copy link

joaqo commented Jan 17, 2020

Just wanted to say thanks too, this looks really cool and I hope I'll find some project to work in it soon.

@dragomirecky
Copy link
Member

Thanks all of you for being interested in this project! ;)

I will try to be as helpful as possible in adding support for more boards. Yes, Teensy 4.0 seems like a good fit!

In general, adding support for another board does not require modifications to the toolchain and requires writing a HAL and small modification of the cross utility only. I will try to write some how-to on this topic, so you can all help with that ;).

@dragomirecky
Copy link
Member

A small update re Teensy 4.0: Inspired by your comment @flocked, I've ordered Teensy 4.0 as I believed that it would be quite easy to add support for it. However, I just found out that the board does not provide any access to a debug interface (JTAG/SWD). I am a bit disappointed, the board looks great otherwise, but considering it offers 2 MB of FLASH (so it can fit quite a complex program), but has no real way to debug such a program? 🤨 I am not feeling adventurous enough to start using this board, as I can't imagine that if there would be any toolchain-related bug and I would have to debug it using print() statements and blinking the LEDs 🙈. I hope the next Teensy board will provide the interface.

On the other side, I'm expecting to receive Pyboard D-series (STM32F767) any day now. It features 4 MB of FLASH, WiFi+BT and more! 👀

@doozMen
Copy link

doozMen commented Apr 18, 2020

I have read your thesis with great pleasure. It is very well written end explains all the details of your process very well. We are currently working on a project opensforyou.com and where using particle.io for this until they decided to stop supporting mesh. I then decided that I would use my knowledge about swift and build the product in swift. Your project is a super starting point for this and I am looking forward to the support for the STM32F767 and would like to help too. I can offer help in 3 ways.

  1. I have a engineering background but not in software. I would like to learn and work on getting support for the STM32F767 as it would be a good fit. But I lack some knowlegde that I hope to make up for with trial and error
  2. I have some experience with swift as a cli tool. Would you be interested in that I port the tooling for setup to be ran from a swift command line tool? I believe for beginners that lack the knowledge of python it might be less discouraging if everything is in swift?
  3. my company would like to sponsor your project. Maybe the easiest would be if you apply like we did with dooZdev for https://github.com/sponsors so we could sponser this project. I'm not promising big sums, but that might just be the beginning :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/swift-embedded/swift-embedded/issues/2

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy