Git Product home page Git Product logo

Comments (6)

basilfx avatar basilfx commented on June 12, 2024

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.

tj57 avatar tj57 commented on June 12, 2024

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.

basilfx avatar basilfx commented on June 12, 2024

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.

tj57 avatar tj57 commented on June 12, 2024

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.

basilfx avatar basilfx commented on June 12, 2024

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.

basilfx avatar basilfx commented on June 12, 2024

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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.