GithubHelp home page GithubHelp logo

netmf / llilum Goto Github PK

View Code? Open in Web Editor NEW
157.0 157.0 52.0 62.25 MB

Development Platform for MSIL and UWP apps targeting Micro Controllers. Part of the .NET Micro Framework family.

License: Other

C 41.16% Batchfile 0.07% Makefile 0.16% C# 51.95% C++ 6.08% Objective-C 0.01% Assembly 0.21% Smalltalk 0.37% XSLT 0.01% GDB 0.01%

llilum's People

Contributors

cw2 avatar jelin1 avatar kail avatar lt72 avatar mortezag avatar smaillet-ms avatar zachnl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

llilum's Issues

Questions about the vision of NETMF in relation with dotnet?

  • What is the relationship between NETMF/llilum and dotnet/llilc?
  • With CoreCLR getting cross-platform ARM support, dotnet/coreclr#1210, what is the difference between NETMF/netmf-interpreter's JIT and dotnet/coreclr's JIT?
    • Probably one commonality is (and please correct me if I am wrong), both .NET framework and .NET µFramework have dropped the support for MIPS architecture at some point after WindowsCE got RIP'd: https://github.com/dotnet/coreclr/issues/969.

Buiding Error

Have been trying to buid this project for couple days, but still can't get it works, always showing errors like:

can't open the file: "llvm/Support/Datatypes.h": No such file or directory
.....
can't open the file: "llvm/Config/llvm-config.h": No such file or directory
.....

Have no idea where i can get those header files, i install the LLVM 3.7.0 binary on my windows 10 already. Please help, thank you!!!

GPIO incorrectly checks for failure while creating DefaultPinProvider

Found while enabling redundant null dead-stripping. In GpioController.cs in the following code, provider can never be null:
IGpioPinProvider provider = new DefaultPinProvider(pinNumber);

        if(provider == null)
        {
            pin.Dispose();
            pin = null;
            status = GpioOpenStatus.PinUnavailable;
            return false;
        }

We need to try/catch the creation of DefaultPinProvider and/or change the way we create the provider.

Consider removing/refactoring _xxx types in LLVMIR2

Most of the _XXx types in LLVMIR2 are just a set of methods wrapping an Llvm.NET class. These can be converted to extension methods that operate on the underlying Llvm.NET class instead of requiring the overhead of multiple layers of wrappers. What few properties they maintain can be stored using the Extensible property mechanism in Llvm.NET

Wiki editing (?)

Do you plan to enable public wiki editing?

There are a few things on the setup page that should be corrected and/or updated (minor fix for llilum-pr repository name, the GCC_BIN variable should be most likely set in the second cmd shell, Zelig.sln was renamed to LLILUM.sln; and there is startVS.cmd, LLVMIR is not under code transformations but CodeGenerator etc.)

Beware Cygwin before building LLVM!

In order to build LLVM cygwin (if installed) directory should be renamed (e.g. to "_cygwin64"), or CMake configuring phase won't work with many "file missing" errors.

Transcend Flashair Compatibility

I'm a software guy who's been getting into hardware more and more. Professionally I now code in netmf targeting custom STM32F4 boards building scientific instruments for plant research.

At home I've been playing with this Transcend Flashair SD card. It's basically an ARMv5 compatible microcontroller with wifi and storage running Linux. It's basically like a tiny web server. The default distro supports Python, etc.

Has anyone considered running llilum on these Flashair cards? Is it possible? The hacker community has already been using uboot to load custom firmware.

First steps with SDK debugging

I just started playing a little with SDK generation and build+deploy+debug cycle.

Despite halting debugger actually breaks GDB, it seems that breakpoints are ignored (for example in Main()) and sources shown while halted aren't correct (I usually "find" myself inside Dictionary class sources 😄 !).

How could I be sure debug symbols are correctly loaded?

Additionally, is variables watching available? It seems that GDB always raises a "-var not available" error message.

Thanks!

Please, don't do such huge commits

It is almost impossible to keep track of the changes and current state of the project when there is a single commit of thousands of changed files scattered all over the whole code base touching different and unrelated areas. Even if your current workflow is to publish once in a few months, please do keep separate commits, at least on feature or logical group level. Thank you in advance.

Find a better implementation for [BottomOfCallstack] attribute

Find out a better implementation of for the [BottomOfCallStack] attribute. It seems to corrupt the registers for class member functions (such as Entrypoint() in ThreadImpl.cs). This primarily seems to affect debug builds.

The current implementation just appends the GCC "naked" attribute. We could potentially do moe optimizations by resetting the current stack pointer to the top of the stack when entering these methods.

ArmProcessorEmulation missing referenced assemblies

ArmProcessorEmulation project build fails due to missing referenced assemblies:

  • JLinkInterface
  • MacraigorOCDInterface
  • RemoteDebugInterfaceConnector

They are supposed to be in ..\..\External\Binaries\JTAG\Debug.

CortexM7 Issue

Have been trying to port llilum onto the STM32F7 disco board, finally got it working (mostly by basing it off the K64F code/build). Found one definite issue, the Set_8_BytesAlignment in ProcessorARMv7M just does a set on the CCR register, the M7 has a few new bits now for instruction and data cache, which if disabled cause bad things to occur it seems. Doing a read modify write seems to work ok.

Also if you want to build the mbed for this board I found that the mbed build scripts claim the STM32F7 disco board does not have GCC_ARM toolchain support, it appears that just a configuration file has not been updated, if you edit the py file to add GCC_ARM toolchain you can build the mbed binaries fine.

One other thing I had to do, which I'm not sure about why is that the SetPriority's of the 4 fault handlers in Peripherals had to be commented otherwise it'd hardfault, still looking into that.

"helpers.h" included twice

in "llilum/VisualStudio/LlilumProjectType/LlilumApplication/LlilumApplication.ProjectTemplate/LlilumNative/Native.vcxproj"
tag ClInclude Include="helpers.h" meets twice. On llilum project creation causes an error.

SDK Build error

I have tried to build SDK with CreateSDKDrop.bat, but I got the following error :
E:\src\llilum\Zelig\Zelig\Test\mbed\SimpleSDK\Native\Native.vcxproj(26,5): error MSB4019: The imported project "E:\src\llilum\Zelig\Zelig\Test\mbed\SimpleSDK\Native\Platforms\Llilum_LPC1768.props" was not found. Confirm that the path inthe declaration is correct, and that the file exists on disk.
sdkbuilderror

I have also noticed lot of errors when building Zeil image with FrontEnd project - Phase: DetectNonImplementedInternalCalls:
frontenderror

129,724 [ 0,891]: Phase: DetectNonImplementedInternalCalls
ERROR: missing implementation for uint Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_DebuggerConnected()

ERROR: missing implementation for uint Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_SCB__get_HFSR()

ERROR: missing implementation for uint Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_SCB__get_CFSR()

ERROR: missing implementation for uint Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_SCB__get_BFAR()

ERROR: missing implementation for uint Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CMSIS_STUB_SCB__get_CONTROL()

ERROR: missing implementation for uint Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CMSIS_STUB_SCB__get_IPSR()

ERROR: missing implementation for uint Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CMSIS_STUB_SCB__get_PSP()

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CMSIS_STUB_SCB__set_PSP(uint)

ERROR: missing implementation for uint Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CMSIS_STUB_SCB__get_PRIMASK()

ERROR: missing implementation for uint Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CMSIS_STUB_SCB__get_BASEPRI()

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CMSIS_STUB_SCB__set_BASEPRI(uint)

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_SCB_set_CCR(uint)

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_SCB_SHCRS_EnableSystemHandler(uint)

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_SCB_ICSR_RaiseSystemException(uint)

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_RaiseSupervisorCallForLongJump()

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_RaiseSupervisorCallForStartThreads()

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_RaiseSupervisorCallForRetireThread()

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_SetExcReturn(uint)

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CUSTOM_STUB_SCB_SCR_SetSystemControlRegister(uint)

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::CMSIS_STUB_POWER_WaitForEvent()

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::Breakpoint(uint)

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M::Nop()

ERROR: missing implementation for uint Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M_VFP::CUSTOM_STUB_SCB__get_FPCCR()

ERROR: missing implementation for void Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M_VFP::CUSTOM_STUB_SCB__set_FPCCR(uint)

ERROR: missing implementation for uint Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.ProcessorARMv7M_VFP::CUSTOM_STUB_GetFPContextFlag()

ERROR: missing implementation for void Microsoft.Zelig.Support.mbed.Utilities::Breakpoint(uint)

ERROR: missing implementation for void Microsoft.Zelig.Support.mbed.Utilities::DebugLog0(char*,uint)

ERROR: missing implementation for void Microsoft.Zelig.Support.mbed.Utilities::DebugLog1(char*,uint,int)

ERROR: missing implementation for byte* Microsoft.Zelig.Support.mbed.Memory::malloc(uint)

ERROR: missing implementation for byte* Microsoft.Zelig.Support.mbed.Memory::free(byte*)

ERROR: missing implementation for uint Microsoft.Zelig.Support.mbed.UsTicker::us_ticker_read()

ERROR: missing implementation for void Microsoft.CortexM3OnMBED.Drivers.SystemTimer::tmp_sys_timer_init()

ERROR: missing implementation for void Microsoft.CortexM3OnMBED.Drivers.SystemTimer::tmp_timer_event_alloc(Microsoft.CortexM3OnMBED.Drivers.SystemTimer.TimerEve
ntImpl**)

ERROR: missing implementation for void Microsoft.CortexM3OnMBED.Drivers.SystemTimer::tmp_sys_timer_insert_event(Microsoft.CortexM3OnMBED.Drivers.SystemTimer.Tim
erEventImpl*,uint)

ERROR: missing implementation for void Microsoft.CortexM3OnMBED.Drivers.SystemTimer::tmp_sys_timer_remove_event(Microsoft.CortexM3OnMBED.Drivers.SystemTimer.Tim
erEventImpl*)

ERROR: missing implementation for uint Microsoft.CortexM3OnMBED.Drivers.SystemTimer::tmp_sys_timer_read()

ERROR: missing implementation for void Microsoft.CortexM3OnMBED.HardwareModel.GpioPinMbed::tmp_gpio_write(Microsoft.CortexM3OnMBED.HardwareModel.GPIOimpl*,int)

ERROR: missing implementation for int Microsoft.CortexM3OnMBED.HardwareModel.GpioPinMbed::tmp_gpio_alloc(Microsoft.CortexM3OnMBED.HardwareModel.GPIOimpl**)

ERROR: missing implementation for int Microsoft.CortexM3OnMBED.HardwareModel.GpioPinMbed::tmp_gpio_init(Microsoft.CortexM3OnMBED.HardwareModel.GPIOimpl*,int)

ERROR: missing implementation for int Microsoft.CortexM3OnMBED.HardwareModel.GpioPinMbed::tmp_gpio_free(Microsoft.CortexM3OnMBED.HardwareModel.GPIOimpl*)

ERROR: missing implementation for void Microsoft.CortexM3OnMBED.HardwareModel.GpioPinMbed::tmp_gpio_mode(Microsoft.CortexM3OnMBED.HardwareModel.GPIOimpl*,Micros
oft.CortexM3OnMBED.HardwareModel.PinMode)

ERROR: missing implementation for void Microsoft.CortexM3OnMBED.HardwareModel.GpioPinMbed::tmp_gpio_dir(Microsoft.CortexM3OnMBED.HardwareModel.GPIOimpl*,Microso
ft.CortexM3OnMBED.HardwareModel.PinDirection)

ERROR: missing implementation for void Microsoft.CortexM3OnMBED.HardwareModel.SpiChannel::tmp_spi_alloc(Microsoft.CortexM3OnMBED.HardwareModel.SpiImpl**)

ERROR: missing implementation for void Microsoft.CortexM3OnMBED.HardwareModel.SpiChannel::tmp_spi_init(Microsoft.CortexM3OnMBED.HardwareModel.SpiImpl*,int,int,i
nt,int)

ERROR: missing implementation for void Microsoft.CortexM3OnMBED.HardwareModel.SpiChannel::tmp_spi_format(Microsoft.CortexM3OnMBED.HardwareModel.SpiImpl*,int,int
,int)

ERROR: missing implementation for void Microsoft.CortexM3OnMBED.HardwareModel.SpiChannel::tmp_spi_frequency(Microsoft.CortexM3OnMBED.HardwareModel.SpiImpl*,int)

ERROR: missing implementation for void Microsoft.DeviceModels.Chipset.CortexM3.NVIC::CMSIS_STUB_NVIC_SetPriorityGrouping(uint)

ERROR: missing implementation for void Microsoft.DeviceModels.Chipset.CortexM3.NVIC::CMSIS_STUB_NVIC_SetPriority(Microsoft.Zelig.Runtime.TargetPlatform.ARMv7.Pr
ocessorARMv7M.IRQn_Type,uint)

ERROR: missing implementation for uint Microsoft.DeviceModels.Chipset.CortexM3.SysTick::CMSIS_STUB_SysTick_GetCTRL()

ERROR: missing implementation for uint Microsoft.DeviceModels.Chipset.CortexM3.SysTick::CMSIS_STUB_SysTick_GetVAL()

ERROR: missing implementation for uint Microsoft.DeviceModels.Chipset.CortexM3.SysTick::CMSIS_STUB_SysTick_GetCALIB()

ERROR: missing implementation for void Microsoft.DeviceModels.Chipset.CortexM3.SysTick::CMSIS_STUB_SysTick_SetCTRL(uint)

ERROR: missing implementation for void Microsoft.DeviceModels.Chipset.CortexM3.SysTick::CMSIS_STUB_SysTick_SetLOAD(uint)

ERROR: missing implementation for void Microsoft.DeviceModels.Chipset.CortexM3.SysTick::CMSIS_STUB_SysTick_SetVAL(uint)

ERROR: missing implementation for uint Microsoft.DeviceModels.Chipset.CortexM3.SysTick::CMSIS_STUB_CLOCK__GetSystemCoreClock()

Zelig\Zelig\Test\mbed\SimpleSDK\Native\Native.vcxproj doesn't load

When I load the Zelig solution, the Test\mbed\SDK\Native project doesn't load. VS2015 doesn't give an error, however, loading it in VS2013 gives the following error:
'The imported project "D:\dev\git\llilum\Zelig\Zelig\Test\mbed\SimpleSDK\Native\Platforms\Llilum_LPC1768.props" was not found...'
I have verified this file doesn't exist (Platforms directory doesn't exist).

Error when building native application.

Hi.
I have a problem when compiling sample application.
During compiling process, zeling compiler stop working with message "Zelig Compiler has stop working".
From log messages, i see the error:

"Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at Llvm.NET.LLVMNative.DisposeModule(LLVMModuleRef M)
at Llvm.NET.Module.Dispose(Boolean disposing)
at Llvm.NET.Module.Finalize()
"
Any help is appreciated. )
Thank you.

Some K64F issues

I know you just committed a lot of these changes, but here are the few issues I had:

Some of the stubs are not defined for the K64F as far as I can tell, e.g.

CUSTOM_STUB_DebuggerConnected
CUSTOM_STUB_SCB__get_HFSR
CUSTOM_STUB_SCB__get_CFSR
CUSTOM_STUB_SCB__get_BFAR

I also had an issue where the processor context was failing a cast on the thread context and breaking, it looked like the thread context was the one in ProcessorARMv7M_VFP but the runtime was casting to the ProcessorARMv7M.Context class. Changing the processor on the K64F to derive from ProcessorARMv7M instead of ProcessorARMv7M_VFP got it working for me.

Noticed some debugging issues, breakpoints sometimes work, sometimes not or behave oddly (i.e. break wrong place). The callstack listed the line numbers correctly but double clicking to go to them jumped to random locations.

In the end I did get the little blinky test app working via the SDK, and it is all very cool =) looking forward to alpha. Also if your going to support more mbed boards the STM32F7 DISCO board with touch screen LCD would be very cool to see.

Creating a BSP fails due to make errors

I am following the Creating a Board Support Package guide (*) and I am stuck at point 11 of Modifying the Makefile section - it seems there are a few problems:

  • make STM32L152 ends with error makefile:31: *** commands commence before first target. Stop., because the spaces were (incorrectly?) replaced with tabs in a recent commit,
  • after fixing that the error is makefile:31: *** TARGET is undefined. Pass in TARGET for desired board. Stop.. I think the correct command is make TARGET=STM32L152,
  • which fails with make: *** No rule to make target .\Microsoft.Zelig.Test.mbed.Simple_opt.o, needed by STM32L152\mbed_simple.elf. Stop., because Microsoft.Zelig.Test.mbed.Simple_opt.o is supposed to be created as a result of the Native project (in the next section), but the project cannot be loaded, as reported in the issue #39 (?)

(*) I have already fixed minor errors there

K64F debugging error

I try to debug K64F platform. Deployment is ok, but debug session do not starts.
1>------ Deploy started: Project: Native, Configuration: Debug ARM ------
1>INFO:root:new board id detected: 02400201C5271E6438D9E3DC
1>INFO:root:board allows 5 concurrent packets
1>INFO:root:DAP SWD MODE initialised
1>INFO:root:IDCODE: 0x2BA01477
1>INFO:root:K64F not in secure state
1>INFO:root:6 hardware breakpoints, 4 literal comparators
1>INFO:root:CPU core is Cortex-M4
1>INFO:root:FPU present
1>INFO:root:4 hardware watchpoints
1>
1>[ ] 0%
1>[ ] 3%
1>[= ] 6%
1>[= ] 9%
1>[== ] 12%
1>[== ] 15%
1>[=== ] 18%
1>[==== ] 21%
1>[==== ] 24%
1>[===== ] 26%
1>[===== ] 29%
1>[====== ] 32%
1>[======= ] 35%
1>[======= ] 38%
1>[======== ] 41%
1>[======== ] 44%
1>[========= ] 47%
1>[========== ] 50%
1>[========== ] 53%
1>[=========== ] 56%
1>[=========== ] 59%
1>[============ ] 62%
1>[============ ] 65%
1>[============= ] 68%
1>[============== ] 71%
1>[============== ] 74%
1>[=============== ] 76%
1>[=============== ] 79%
1>[================ ] 82%
1>[================= ] 85%
1>[================= ] 88%
1>[================== ] 91%
1>[================== ] 94%
1>[====================] 100%
1>WARNING: file already exists but should not:
...\Temp_MEI86002\include\pyconfig.h
========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========

image

Note: gdb server succesfully starts

image

Security options

Which options are most needed?

  • SSL
  • Support for TEE
  • Secure boot loading and attestation

Any other?

generic collections supported?

Zelig seems to crash if you use generic collections (a dictionary in this case), seems to be at this spot (Zelig\Zelig\CompileTime\CodeGenerator\CodeTransformation\LLVM\LLVMModuleManager_Types.cs:153)

The type in question is:

System.Collections.Generic.Dictionary`2<TKey,TValue>.Entry<TKey,TValue>&

In a previous commit you had a check there that if the underlying type was null it would return null. Putting that back in gets a bit further, but eventually I get an assert for this type:

System.Collections.Generic.EqualityComparer`1<T>

assert being from LLVM\lib\IR\Type.cpp

"Expression isOpaque() && "Struct body already set!"

This class ( http://pastebin.com/gsptjk3D ) in the simple project generates these issues, add this the main in program.cs

 var font = Font.LoadFromFile("DEJAVU.FNT");

Target compile error.

I am try to compile K64F target and receive linkage error:

Link:
D:\mydocs\gitHub\llilum\Scripts\SDKDrop\mbed\TARGET_K64F/TOOLCHAIN_GCC_ARM/mbed_overrides.o: In function NMI_Handler': mbed_overrides.c:(.text.NMI_Handler+0x0): multiple definition ofNMI_Handler' ARM\Debug\SimpleTestProgram.o:D:\mydocs\gitHub\llilum\Zelig\Zelig\RunTime\Zelig\Kernel\HardwareModel\TargetPlatform\ARMv7/ProcessorARMv7M_ContextSwitch.cs:651: first defined here
collect2.exe : error : ld returned 1 exit status

Can anyone help me?

LibLLVM build fails due to intermediate directory set to root

LibLLVM project's Intermediate Directory is set to root, which causes build failure during attempt to write artefacts to directory for which it does not have permissions.

It is apparently missing leading .., like the Output Directory (right above in the project properties dialog).

Declarative programming for improving memory allocation and scheduling

We can use LLILUM to enforce or detect memory allocation patters and scheduling patterns. For example we can create an attribute such as [NoAllocate] and use it with a method to ensure that no memory allocation will be performed by any function called directly or indirectly by that method. This method would be useful to enforce memory usage patters at compilation time.
Or we can create an attribute such as [DoNotSwitch] to tell the scheduler not to context switch the calling thread of the methods decorated with such attribute. Such attribute could be useful, for example, to driver a PWM motor with no hiccups.
These are just two examples.
Any idea is welcome.

HardwareProvider.Instance.InvalidPin Error

Sorry for opening so many issues here, but i really want to try the llilum, when i trying to do the debugging with the llilum managed code project, the visual studio will throws an ECall exception at the code
int invalidPin = HardwareProvider.Instance.InvalidPin;
in the BaseSerialStream.cs file

Revise thread mode entering policy

Currently we allow entering thread mode from any exception level. We should reconsider allowing thread mode only when no exception are active, pending completion of InterruptController driver.
See usage of macro c_CCR_STD_CONFIG_8 in ProcessorARMv7M.cs

Networking options

Which one is the most compelling?

  • 802.15.4 / Thread
  • Bluetooth
  • CoAp
  • AMQP
  • MQTT

any other?

Add Supports to STM32 series

Hope STM32 series would be supported soon, the current kits are too expensive for students.. Thanks for great works!

Support Python

How about supporting IronPython assemblies AOT compilation for LLILUM devices?

DIBuilder Error

I just got the LLVM successfully builded, but still having problems when build the CreateSDKDrop.bat & Zelig.sln, there are two errors always appear.

error: ‘class llvm::DIBuilder’ has no member named ‘createLocalVariable’
error: 'llvm:DIBuilder::createSubroutineType' can't accept 3 params.

Please advise how to fix it, thank you~~

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.