public STM32MCUBuilder(ParsedMCU parsedMCU, DeviceMemoryDatabase db)
                {
                    MCU      = parsedMCU;
                    Memories = db.LookupMemories(parsedMCU.RPN, parsedMCU.RefName, out PredefinedLinkerScripts);
                    if (Memories.Length < 1)
                    {
                        if (parsedMCU.strCore != "")
                        {
                            Memories = db.LookupMemoriesTwoCore(parsedMCU.RPN, parsedMCU.strCore, parsedMCU.RefName);
                        }
                        if (Memories.Length < 1)
                        {
                            throw new Exception("Could not locate memories for " + parsedMCU.Name);
                        }
                    }

                    for (int i = 0; i < Memories.Length; i++)
                    {
                        Memories[i].SortWeight = 100 + i;
                        if (Memories[i].Name == "FLASH")
                        {
                            Memories[i].SortWeight = 0;
                        }
                        else if (Memories[i].Name == "RAM")
                        {
                            Memories[i].SortWeight = 1;
                        }
                    }

                    Memories = Memories.OrderBy(m => m.SortWeight).ToArray();
                }
Exemple #2
0
                public STM32MCUBuilder(ParsedMCU parsedMCU, DeviceMemoryDatabase db)
                {
                    MCU = parsedMCU;

                    Memories = parsedMCU.Memories.ToArray();
                    if (Memories.Length == 0)
                    {
                        throw new Exception("Could not locate memories for " + parsedMCU.Name);
                    }

                    for (int i = 0; i < Memories.Length; i++)
                    {
                        Memories[i].SortWeight = 100 + i;
                        if (Memories[i].Name == "FLASH")
                        {
                            Memories[i].SortWeight = 0;
                        }
                        else if (Memories[i].Name == "RAM")
                        {
                            Memories[i].SortWeight = 1;
                        }
                    }

                    Memories = Memories.OrderBy(m => m.SortWeight).ToArray();
                }
Exemple #3
0
                public STM32MCUBuilder(ParsedMCU parsedMCU, DeviceMemoryDatabase db, string specializedName)
                {
                    MCU      = parsedMCU;
                    Memories = db.LookupMemories(specializedName ?? parsedMCU.RPN);
                    if (Memories.Length < 1)
                    {
                        throw new Exception("Could not locate memories for " + parsedMCU.Name);
                    }

                    for (int i = 0; i < Memories.Length; i++)
                    {
                        Memories[i].SortWeight = 100 + i;
                        if (Memories[i].Name == "FLASH")
                        {
                            Memories[i].SortWeight = 0;
                        }
                        else if (Memories[i].Name == "RAM")
                        {
                            Memories[i].SortWeight = 1;
                        }
                    }

                    Memories = Memories.OrderBy(m => m.SortWeight).ToArray();
                }