Comments (6)
You have the wrong SDK directory set. You need to specify the path to the folder that contains emlib/
and Devices/
. If you have Simplicity Studio 4 installed, you'll find it in the exx32/v4.4.1/
folder.
from efm2riot.
I have tested again, but without success.
On Linux
#python EFM2RIOT.py --sdk /mnt/hgfs/vm_share/developer/sdks/exx32/v4.4.0/ --dist ../RIOT/dist/
(...)
Processing 'efm2riot/templates/boards/board/include/*'
Processing 'efm2riot/templates/boards/board/*'
Processing 'efm2riot/templates/doc/Board.md'
Processing 'efm2riot/templates/contrib/*'
Patching '/mnt/hgfs/vm_share/developer/sdks/exx32/v4.4.0//Device/SiliconLabs/EFM32G/Include/*.h'
Traceback (most recent call last):
File "EFM2RIOT.py", line 88, in <module>
sys.exit(main(sys.argv))
File "EFM2RIOT.py", line 84, in main
root_directory, dist_directory, sdk_directory, cpus, families, boards)
File "/home/user/EFM2RIOT/efm2riot/tasks.py", line 175, in copy_patches
_process("per_family", families)
File "/home/user/EFM2RIOT/efm2riot/tasks.py", line 168, in _process
content = method(source, content)
File "/home/user/EFM2RIOT/efm2riot/patches.py", line 18, in add_extern_c
offset = source.index(EXTERN_FIND2) + len(EXTERN_FIND2)
ValueError: substring not found
On Windows
d:\EFM2RIOT>python2 EFM2RIOT.py --sdk c:\prg\SiliconLabs\SimplicityStudio\v4\developer\sdks\exx32\v4.4.0 --dist d:\RIOT\dist
Found 489 CPUs in 23 families (filtered).
Copying 'efm2riot/static/README.md'
Copying 'efm2riot/static/cpu/efm32_common'
Copying 'efm2riot/static/doc/images'
Copying 'efm2riot/static/examples'
Copying 'c:\prg\SiliconLabs\SimplicityStudio\v4\developer\sdks\exx32\v4.4.0/emlib'
Processing 'c:\prg\SiliconLabs\SimplicityStudio\v4\developer\sdks\exx32\v4.4.0/Device/SiliconLabs/EFM32G/Source/system_efm32g.c'
Traceback (most recent call last):
File "EFM2RIOT.py", line 88, in <module>
sys.exit(main(sys.argv))
File "EFM2RIOT.py", line 80, in main
arguments.development)
File "d:\EFM2RIOT\efm2riot\tasks.py", line 116, in copy_templates
_process("per_family", families)
File "d:\EFM2RIOT\efm2riot\tasks.py", line 99, in _process
templates.from_file(source, target, context)
File "d:\EFM2RIOT\efm2riot\templates.py", line 99, in from_file
output = create_environment().get_template(input_file).render(**context)
File "c:\Python27\lib\site-packages\jinja2\environment.py", line 812, in get_template
return self._load_template(name, self.make_globals(globals))
File "c:\Python27\lib\site-packages\jinja2\environment.py", line 774, in _load_template
cache_key = self.loader.get_source(self, name)[1]
File "c:\Python27\lib\site-packages\jinja2\loaders.py", line 168, in get_source
pieces = split_template_path(template)
File "c:\Python27\lib\site-packages\jinja2\loaders.py", line 31, in split_template_path
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: c:\prg\SiliconLabs\SimplicityStudio\v4\developer\sdks\exx32\v4.4.0/Device/SiliconLabs/EFM32G/Source/system_efm32g.c
but file exists:
d:\EFM2RIOT>more "c:/prg/SiliconLabs/SimplicityStudio/v4/developer/sdks/exx32/v4.4.0/Device/SiliconLabs/EFM32G/Source/system_efm32g.c"
another try with //
d:\EFM2RIOT>python2 EFM2RIOT.py --sdk c://prg/SiliconLabs//SimplicityStudio//v4//developer//sdks//exx32//v4.4.0 --dist d://RIOT//dist
Found 489 CPUs in 23 families (filtered).
Copying 'efm2riot/static/README.md'
Copying 'efm2riot/static/cpu/efm32_common'
Copying 'efm2riot/static/doc/images'
Copying 'efm2riot/static/examples'
Copying 'c://prg/SiliconLabs//SimplicityStudio//v4//developer//sdks//exx32//v4.4.0/emlib'
Processing 'c://prg/SiliconLabs//SimplicityStudio//v4//developer//sdks//exx32//v4.4.0/Device/SiliconLabs/EFM32G/Source/system_efm32g.c'
Traceback (most recent call last):
File "EFM2RIOT.py", line 88, in <module>
sys.exit(main(sys.argv))
File "EFM2RIOT.py", line 80, in main
arguments.development)
File "d:\EFM2RIOT\efm2riot\tasks.py", line 116, in copy_templates
_process("per_family", families)
File "d:\EFM2RIOT\efm2riot\tasks.py", line 99, in _process
templates.from_file(source, target, context)
File "d:\EFM2RIOT\efm2riot\templates.py", line 99, in from_file
output = create_environment().get_template(input_file).render(**context)
File "c:\Python27\lib\site-packages\jinja2\environment.py", line 812, in get_template
return self._load_template(name, self.make_globals(globals))
File "c:\Python27\lib\site-packages\jinja2\environment.py", line 774, in _load_template
cache_key = self.loader.get_source(self, name)[1]
File "c:\Python27\lib\site-packages\jinja2\loaders.py", line 187, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: c://prg/SiliconLabs//SimplicityStudio//v4//developer//sdks//exx32//v4.4.0/Device/SiliconLabs/EFM32G/Source/system_efm32g.c
Can you share your converted emlib from RIOT/dist ?
from efm2riot.
This error is related to Windows versus Unix line endings. I have fixed this in my local repository, but not yet pushed due to other errors and improvements. I also haven't tested this on Windows, which could also be another issue.
Not sure what you want to do, but the ready-to-use files are already included in the dist/
folder. The emlib folder is located under dist/cpu/efm32_common/emlib/
. To use this with RIOT-OS, just copy the desired board/
and cpu/
folders, including cpu/efm32_common/
.
Note that the SLWSTK6220A is untested. I do not own this board, so I cannot test it. I think it will compile just fine, but the pin mapping and/or peripheral configuration may be wrong. Patches are welcome :-)
from efm2riot.
I have SLWSTK6220A, I will test it.
Example hello-word and gnrc_networking(without netdev interface) are working correctly.
BTW. Do you know how to add network support to this platform ?
from efm2riot.
Partially. You'll have to implement a netdev2 radio driver specific for that board. Refer to the RIOT-OS docs on how to do so.
from efm2riot.
I will close this issue. 89c27f3 should resolve the original issue, and the other commits add support for the new v4.4.1 SDK.
from efm2riot.
Related Issues (1)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from efm2riot.